Developmental History of NetPoint & GPM

Tim Mather, Vivek Puri, and Liang Liu retrace the developmental history of NetPoint and the Graphical Path Method (GPM).  Since the development of the underlying Logic Diagramming Method and its initial unveiling at the 2008 PMICOS conference in Chicago, a dedicated team of software engineers, programmers, and practitioners has implemented the mathematical underpinnings of NetPoint to enable planners to produce a logic-driven schedule while collaborating interactively with all stakeholders. Inspired by the need to prioritize visualization and real-time adaptation to change, GPM remains true to its origins.

Download the Full Presentation’s PDF
Download Publication

Tim Mather PMP, CCMP, LPEC

As COO of PMA Technologies, Tim provides leadership for the design and development team as well as the intellectual property efforts surrounding NetPoint. Tim is a PMP with an extensive background in project management, software development, and marketing. Tim earned his bachelor’s degree from Michigan State University and pursued postgraduate study of project management at the University of Chicago.

Vivek Puri, PhD

Dr. Vivek Puri has significant experience with planning and executing projects in both construction and information technology areas. Dr. Puri’s recent work involves research and development relating to NetPoint, NetRisk, and Schedule MD, three innovative tools developed in-house by PMA. His doctoral work was in the area of simulation applications for construction planning.

Liang Liu, PhD

Dr. Liang Liu was a faculty member of the Construction Engineering and Management Program of the Department of Civil and Environmental Engineering at the University of Illinois at Urbana-Champaign from 1992 to his retirement in 2019.  He was one of the core members of the GPM and NetPoint development team in 2004, contributing to the design and coding (in C++)  of NetPoint software architecture, data structure, network algorithms, and the interactive GUI (graphical user interface).

[CDATA[ var anchors = document.getElementsByTagName("a"); for (var i=0; i
[CDATA[ var anchors = document.getElementsByTagName("a"); for (var i=0; i<anchors.length; i++) { var anchor = anchors[i]