A Web Based Integrated Global Project Management System for Large Scale A/E/C Projects by Ajit Kumar Sutar B.Tech. (Hons), Ocean Engineering and Naval Architecture, IIT Kharagpur, 1998 Submitted to the Department of Civil and Environmental Engineering in Partial Fulfillment of the Requirements for the Degree of Master of Science at the Massachusetts Institute of Technology January 2000 @ 2000 Massachusetts Institute of Technology All rights reserved Signature of A uthor .......................................... ................... . Department of Civil and Environmental Engineering January 14, 2000 Certified by ................ ........................... 6 Feniosky Penla-Mora Associate Professor of Civil and Environmental Engineering Thesis Supervisor A ccepted by ...................................... MASSACHUSETTS INSTITUTE OF TECHNOLOGY LE 1 4 2000 LIBRARIES ENG .. .. ...... .. .............. ... ......... ......... .... Daniele Veneziano Chairman, Departmental Committee on Graduate Studies A Web Based Integrated Global Project Management System for Large Scale A/E/C Projects by Ajit Kumar Sutar Submitted to the Department of Civil and Environmental Engineering on January 14, 2000, in Partial Fulfillment of the Requirements for the Degree of Master of Science ABSTRACT The globalization of architecture, engineering and construction (A/E/C) industry has added new dimensions to project management. A wide spectrum of tools and software are used by project managers to manage these geographically distributed projects. PC or LAN based project management software is already widespread and popular in A/E/C industry. However, the access to the software is limited to the LAN and the server where they reside, and to use the software, project managers have to undergo extensive training. Current practice in collecting latest progress data for updating schedule is time consuming, and it is difficult to communicate this information to all the participants involved, especially if they are in different companies and located in different countries. The goal of this thesis is to develop an Integrated Web based Global Project Management System (IGPMS). IGPMS provides a web based graphical user interface that allows project managers to view and update the projects online. IGPMS provides project managers with web-based analysis and reporting tool for the project schedules. IGPMS also integrates the different information systems used for project management through software interoperability and provides a "common language" for product, process and resource information. IGPMS also introduces the concept of a web based project repository where project managers can submit a new project to the server and instantly view, update and analyze the project schedule through a web browser. Thesis Supervisor: Feniosky Pefia-Mora Title: Associate Professor of Civil and Environmental Engineering ACKNOWLEDGEMENTS I am thankful to Professor Pefia-Mora for his valuable time and inexhaustible advice on my research and thesis. Without his help and guidance this thesis would not have been a reality. It was a great experience working with him. I am indebted to my friends in IESL for their help and support. I had a nice time in IESL with friends like Kiran, Paddu, JP, Vada, Petros, Tong, Abel, Jaime, Moonseo, Tamaki, Michael, Emma, Ben, Jingsong, Julio, Justin, Kathy and Adriana. I would especially like to thank JP for his help in my research. I would also like to thank my roommate Sahoo for his help and support. I am thankful to Joannie and Cynthia Stewart for helping me out in the administrative matters. I am also thankful to my non-IESL friends like Amit, Yogesh, Niranjan, Vinay, Ganti, Gangs and Deepak. I am thankful to my family for their love, patience and understanding. Even though they live on the other side of the globe, they have been a constant source of inspiration and encouragement during my studies at MIT. It has been almost two years since I left my home in India and I cannot wait till I go back to meet my family. Ajit 3 TABLE OF CONTENTS L IST O F F IGU R E S .......................................................................................................................................... 6 EXECUTIVE SUM MARY ............................................................................................... 8 CHAPTER 1 .................................................................................................................... 11 RESEARCH BACKG ROUND ...................................................................................... 11 1.1 IN TR OD U C TION .............................................................................................................................. 1.2 1.3 OBJECTIVES OF THE RESEARCH ....................................................................................... BENEFITS OF THE RESEARCH ............................................................................................ 11 15 15 CHAPTER 2 .................................................................................................................... 16 WEB BASED PROJECT MANAGEMENT ................................................................ 16 2 .1 2.2 2.2.1 2.2.2 2 .2 .3 2.2.4 2 .2 .5 2.2.6 2.2.7 2.2.8 IN TRO D UC TIO N .............................................................................................................................. CURRENT TECHNOLOGIES IN PROJECT MANAGEMENT ................................................................. PRIMAVERA PROJECT PLANNER............................................................................................... RA AUTOMATION ENGINE....................................................................................................... VISUA L C + +................................................................................................................................. COMMON GATEWAY INTERFACE (CGI) PROGRAMMING ........................................................... PER L .......................................................................................................................................... MICROSOFT INTERNET INFORMATION SERVER (IIS) ............................................................... ACTIVE SERVER PAGES (ASP).................................................................................................... OPEN DATABASE CONNECTIVITY (ODBC) ............................................................................. 16 16 16 18 19 20 21 22 23 24 CHAPTER 3 .................................................................................................................... 26 ENGINE M ODEL ......................................................................................................... 26 3.1 3.2 EN G INE C O M PO NEN T ..................................................................................................................... TH E EN G IN E M O D EL ...................................................................................................................... 26 26 3.3 THE ENGINE CORE MODEL ............................................................................................................ 27 3.4 3.5 ENGINE COMPONENT ARCHITECTURE ......................................................................................... SUMMARY OF THE ENGINE COMPONENT .................................................................................... 31 32 CHAPTER 4 .................................................................................................................... 34 INTERFACE M ODEL ................................................................................................... 34 4.1 4.2 4.3 INTERFACE COMPONENT ............................................................................................................... COMPONENTS OF INTERFACE......................................................................................................... SUMMARY OF THE INTERFACE COMPONENT ............................................................................... 34 36 36 CHAPTER 5 .................................................................................................................... 38 ANALYZER M ODEL .................................................................................................... 38 5.1 5.2 ANALYZER COMPONENT ............................................................................................................... SYSTEM ARCHITECTURE OF ANALYZER COMPONENT ................................................................... 4 38 39 5.3 SUMMARY OF THE ANALYZER COMPONENT .................................................................................. 41 CHAPTER 6 .................................................................................................................... 42 INTEGRATED GPM S M ODEL ................................................................................... 42 6 .1 IG P M S .......................................................................................................................................... 42 6.2 6.3 SYSTEM ARCHITECTURE ................................................................................................................ SUMMARY OF THE INTEGRATED SYSTEM.................................................................................... 42 44 CHAPTER 7 .................................................................................................................... 46 IM PLEMENTATION .................................................................................................. 46 7.1 7.1.1 7.1.2 7.2 7.2.1 7.2.2 7.3 7.3.1 7.3.2 7.3.3 EN G IN E CO M PO NEN T ..................................................................................................................... PROJECT MANAGEMENT USING THE ENGINE COMPONENT...................................................... SCHEDULE RECOVERY ............................................................................................................... INTERFACE COMPONENT ................................................................................................................ SCHEDULING WITH INTERFACE COMPONENT ........................................................................... UPDATE ORIGINAL DURATION .................................................................................................. ANALYZER COMPONENT ................................................................................................................ VIEW THE EVOLUTION OF A PROJECT ......................................................................................... ANALYZE TWO VERSIONS OF THE SAME PROJECT.................................................................... SUBMIT PROJECTS ONLINE ...................................................................................................... CHAPTER 8 .................................................................................................................... 46 46 57 61 61 65 67 68 70 72 76 CONCLUSIO NS..............................................................................................................76 8.1 8.1.1 8.1.2 8.1.3 FU TU RE R ESEA RCH ....................................................................................................................... W EB BASED ENGINE COMPONENT ............................................................................................. INTEGRATION OF IGPMS WITH MS PROJECT 2000 AND MS PROJECT CENTRAL ...................... INTEGRATION OF IGPMS WITH WEBSTER FOR PRIMAVERA ...................................................... 76 76 77 77 REFERENCES................................................................................................................79 APPENDIX ...................................................................................................................... SOURCE CODES OF IGPMS........................................................................................................................ 5 82 82 LIST OF FIGURES FIGURE FIGURE FIGURE FIGURE FIGURE FIGURE FIGURE 1: PRIMAVERA PROJECT PLANNER 3.0 INTERFACE [5]............................................................ 2: RA CLASS DIAGRAM [3]................................................................................ .............................. 3: VISUAL C++ 5.0 INTERFACE [37].......... 17 18 .... 19 4: COMMON GATEWAY INTERFACE ARCHITECTURE.............................................................. 20 23 MICROSOFT MANAGEMENT CONSOLE [38].......................................................................... 24 6: ACTIVE SERVER PAGES ARCHITECTURE .............................................................................. ............ 25 7: ODBC ARCHITECTURE ............................................................................................ 28 FIGURE 8: ENGINE CORE MODEL IN EXPRESS-G [3].......................................................................... 29 FIGURE 9: OBJECT REQUEST BROKER ARCHITECTURE [3] .................................................................. 31 FIGURE 10: COM-BASED AUTOMATION [3] ............................................................................................ 32 ................................................................ [3] FIGURE 11: DISTRIBUTED COMPUTING ARCHITECTURE 35 .................................................................. COMPONENT THE INTERFACE FOR MODEL FIGURE 12: THE 39 FIGURE 13: SYSTEM ARCHITECTURE OF ANALYZER ................................................................................. 43 FIGURE 14: SYSTEM ARCHITECTURE OF IGPMS ................................................................................... 47 FIGURE 15: ENGINE COMPONENT MAIN SCREEN [3]............................................................................ 48 FIGURE 16: PROJECT TEMPLATE SELECTION [3] .................................................................................. 48 FIGURE 17: ENGINE COMPONENT MODEL IN AUTOCAD [3]................................................................. 49 [3]............................................................................................ BROWSER OBJECT ENGINE FIGURE 18: 49 FIGURE 19: ENGINE OBJECT EDITOR [3]................................................................................................. 50 FIGURE 20: ENGINE ACTIVITY BROWSER [3].......................................................................................... 51 FIGURE 21: ENGINE ACTIVITY EDITOR [3]............................................................................................ 52 FIGURE 22: ENGINE RESCHEDULING [3] ................................................................................................ 53 FIGURE 23: ENGINE RESOURCE BROWSER [3]....................................................................................... 54 [3}.............................................................................................. MoNTfOR FIGURE 24:'ENGINE PROJECT 54 FIGURE 25: ENGINE CONSTRUCTION SEQUENCE SIMULATOR [3].......................................................... 55 FIGURE 26: GANTT CHART [3].................................................................................................................... 55 FIGURE 27: CUMULATIVE CASH FLOW [3]................................................................................................. 56 FIGURE 28: DAILY CASH FLOW [3]................................................... 56 FIGURE 29: DAILY RESOURCE ALLOCATION [3]..................................................................................... 57 FIGURE 30: RESOURCE ASSIGNMENT [3]................................................................................................. 58 FIGURE 31: SCHEDULE RECOVERY I [3]................................................................................................. 59 FIGURE 32: SCHEDULE RECOVERY 11 [3] ................................................................................................ 60 FIGURE 33: NEW DAILY CASH FLOW [3].................................................................................................... 60 FIGURE 34: NEW CUMULATIVE CASH FLOW [3]...................................................................................... 61 FIGURE 35: GPMS HOME PAGE ................................................................................................................. 62 FIGURE 36: INTERFACE COMPONENT HOME PAGE .................................................................................. 63 FIGURE 37: DISPLAYING A SCHEDULE IN INTERFACE COMPONENT ....................................................... 64 ................................................................................. A PROJECT FOR FILTERS FIGURE 38: DISPLAYING FIGURE 39: INTERFACE COMPONENT DISPLAYING PROJECT INFORMATION...........................................65 66 FIGURE 40: UPDATING A PROJECT SCHEDULE WITH INTERFACE COMPONENT.................................... 67 FIGURE 41: INTERFACE COMPONENT SHOWING THE UPDATED SCHEDULE........................................... 68 FIGURE 42: ANALYZER HOME PAGE ........................................................................................................ 5: FIGURE 43: FIGURE 44: FIGURE 45: FIGURE 46: FIGURE 47: FIGURE 48: EVOLUTION REPORT OF A PROJECT .................................................................................... ACTIVITIES FINISHED SINCE LAST REPORT ........................................................................ SELECTION OF THE FIRST AND THE SECOND TIME FRAMES AND A REPORT ..................... ANALYZE TWO DIFFERENT TIME FRAMES OF A PROJECT .................................................... SECURITY FEATURE OF PROJECT SUBMISSION ................................................................... PROJECT SUBMISSION HOME PAGE ...................................................................................... 6 69 70 71 72 73 73 FIGURE 49: FIGURE 50: FIGURE 51: FIGURE 52: FIGURE 53: FIGURE 54: BROWSE PROJECT REPOSITORY BEFORE SUBMITTING A PROJECT ...................................... SUBMIT A ZIPPED PROJECT (E.G. FPS1)............................................................................ FPS1.zip UPLOADED TO THE PROJECT REPOSITORY ......................................................... UPLOADED PROJECT FPS1...................................................................................................75 PERSONAL GANTT VIEW IN MICROSOFT PROJECT CENTRAL [33] .................. WEBSTER FOR PRIMAVERA [34].......................................................................................... 7 74 74 75 77 78 EXECUTIVE SUMMARY Project management systems are computer programs designed to help project managers successfully manage a variety of project activities. The beginning of these systems are usually identified with the introduction of Program Evaluation and Review Technique (PERT) [1] and Critical Path Method (CPM) [1] in the 1950s. With the personal computer revolution starting from the eighties, now there are many mature commercial packages of such project management systems. These PC or LAN based project management systems such as PrimaveraTM [5], TM [36] and Timberline T M [18] have made SureTrak T M [35], Microsoft Project TM [30], Expedition life easier for project managers. However, the access to these software is limited and these software are not easy to use for ordinary people without extensive training. Generally, once the project has started with an original schedule, the actual field data about schedule and cost have to be recorded on paper before they are passed through one office to another before reaching the scheduler for updating the project schedule weekly or monthly. As modem construction projects are dynamic and complex in nature, the changes that occurs during the construction process are inevitable. It is not easy to notify all the participants who will be affected by these changes in a timely manner, especially if they are in different companies and located in different countries. Current practice in communicating and resolving these schedule and cost changes is far from satisfactory therefore causing completion delays, cost increases as well as a lot of controversies despite the help of computer project management systems. Thus, in the current practice the information flow is not dynamic. Therefore there exists an information flow problem in project management that needs to be solved. The Information Super Highway offers a solution to this information flow problem. The Internet, especially its most organized section: the World Wide Web, is one of the fastest growing, most exciting technologies in today's world. With an easy to use graphical Web browser, a user can access a wealth of information free or almost free (except for the fee for connection). One 8 distinguished characteristics of the Web is the fact that it is accessible at any time, from any place, to any number of users, with no third party involvement necessary. It is this unique quality that makes the Web such an ideal tool for the dissemination, gathering and analysis of information. A user or an organization only needs to update any information on the Web once to be accessible by all the people who are concerned with that information with no incremental effort. For example, a person who is looking at the project schedule on the web browser will have the confidence that he or she is looking at the latest, up to the minute project schedule, which is impossible with traditional communication channels such as mail, fax, phone call or even email. So a web based project management system with these functionality becomes a necessity in the current scenario. The other major problem with large and global projects is that a large number of information systems are involved. So an information-sharing model for the integration of design and construction product and process information is necessary. For example, a construction project information may consist of drawings e.g. AutoCADTM [4], schedules e.g. Primavera Project PlannerTM [5], reports e.g. Crystal Report TM [6] and databases e.g. MS AccessTM [7] or MS SQL ServerTM [8]. Project planning tools must incorporate the product and process data, which may involve a lot of these information systems. The systems deployed for different aspects of the same project may be based on different algorithms and different data structures. Collaboration of a wide array of information systems is needed for the management of large-scale engineering projects. The thesis describes the attempt to solve this problem by developing a system that provides a common language of communication between these information systems. The other problem that project managers encounter while planning large-scale A/E/C projects is that these projects may involve as many as 300 different multiple organizations [10]. The complexity of these projects is likely to keep growing. The project information and the amount of data transaction among project participants tend to expand substantially. Integration of project information becomes a significant issue for the management of large-scale engineering projects. The communications across the various sub-disciplines of an A/E/C project is inefficient and ineffective due to the inflexibility of the current data exchange. The misinterpretation of documents and drawings also leads contractors to employ inappropriate construction methods, set up infeasible schedules, waste resources and misestimate project cost. An interoperable integrated 9 project management system for A/E/C product and process information, based on the system developed by Yee-Sue Chiou [3], is also proposed in this thesis. This information-sharing model augments the Industry Foundation Classes (IFC) [11] and STEP [12] with object oriented methodologies and software interoperability concepts, establishing a common language for the product, process and resource information through the entire life cycle of a A/E/C project. This thesis describes an Integrated Global Project Management System (IGPMS"). IGPMS has an interface component that allows users to access the project schedule residing on a web server, update the schedule, recover the schedule by reallocating resources and view the updated schedule through a web browser at any time and from anywhere. IGPMS has an engine component that allows the user to view the product, process, resource and cost information for a project from a web browser. IGPMS also has a component called analyzer, which can analyze two time frames or the whole evolution of a project allowing for the generation of reports by the users and gives the user an insight on the actual performance of a project. 10 CHAPTER 1 RESEARCH BACKGROUND 1.1 INTRODUCTION Project management is the planning, organizing, and managing of tasks and resources to accomplish a defined objective, usually with constraints on time and cost. A simple project can be as simple as a list of tasks and their start and finish dates written on a piece of paper. A complex schedule, on the other hand, might deal with thousands of tasks and resources and a project budget of billions of dollars. As the project becomes more complex, so are the requirements of project management system. The process of computerizing project management began in the 1950s. Dupont Corporation and Remington Rand, in an effort to improve project-scheduling techniques, developed a scheduling system called the Critical Path Method (CPM) [1]. CPM is a mathematical model that calculates the total duration of a project based on individual task duration and logical relationships, and identifies which tasks are critical to the on time completion of the project. This model is the fundamental scheduling method used in project management software system today. During the 1950s, the United State Navy developed the Polaris Missile Project; a submarine based weapons system. Lockheed, the primary contractor on the project, created the Project Evaluation and Review Technique (PERT) [1], which uses statistical probabilities to calculate expected duration. Three time estimates are required with PERT; most likely, pessimistic, and optimistic. However, multiple time estimates required for PERT are cumbersome to use and estimates produced are more difficult to manage, since project duration can be shown to be correct only 50 percent of the 11 time. Due to this difficulty, PERT is not as widely used as CPM. In a separate development of project management system, the Gantt chart schedule was developed by Henry L. Gantt about 1900 [13]. It is used to graphically represent activities across a time scale. Initially called bar chart, these graphic representations have since been renamed Gantt Charts in honor of the inventor of the system. Gantt chart has been widely used as a visual aid in planning and scheduling. Project activities or tasks are shown graphically as bars against a horizontal time scale. As progress is made, the bars can be updated to show the status of each task and a vertical line can be drawn to show the current point in time. By comparing the progress indicated on the horizontal bars to the line showing the current point in time, users can readily visualize whether tasks are on schedule, ahead of schedule, or behind schedule. Most project management system software packages on the market today integrate at least CPM method and Gantt chart. The Primavera Project Planner 3.0 version also integrates PERT into scheduling calculation. Most of these systems are designed for desktop computers, some have Local Area Network (LAN) version. Since they are designed for personal computers, these systems do not work on UNIX or Macintosh machines. This feature has limited the availability of the system to certain machines, or certain office buildings that are not accessible from other geographical locations. Each separate PC has to have a copy of the software, which occupies a sizabte hard disk space on each machine. For updating a project schedule, all the copies on separate machines have to be changed. Even if the system runs on a LAN system. The objective of this thesis is to break this barrier, reduce the hardware and software requirements for project management system and let more people have access to the latest project schedule and update it through Internet. Design-build is a unique trend in the delivery strategy of civil engineering projects. It reduces burden on the owner as in this case only one party is wholly responsible for the entire delivery process of the project. But the delivery process, planning and coordinating activities become more complex and difficult. Therefore a design evaluation criterion has to be established and the available resource for construction is to be monitored constantly. Li and Pefia-Mora [14] proposed a methodology to achieve robust planning and control where unforeseen changes can be absorbed without major disruption in the plan. To develop this integration method, they have combined the application of the concepts of axiomatic design, concurrent engineering, GERT and system dynamics. While these techniques can achieve robust control on design-build projects, the 12 problem related to the vastness and the global nature of these projects still stands. When a designbuild project is large and globally based, it becomes very difficult to manage the different installations. So in addition to robust control in planning, global management of such project becomes highly necessary. The Internet is a space, where you can gather, disseminate, and exchange all types of information. WWW stands for "World Wide Web." The WWW project, started by Tim Berners-Lee while at CERN (the European Laboratory for Particle Physics), seeks to build a "distributed hypermedia system." In practice, the web is a vast collection of interconnected documents, spanning the world. The web was conceived so that, computer users could have a single, unified means of accessing hypermedia documents from anywhere on the Internet. The WWW uses the Hyper Text Transfer Protocol (HTTP). This protocol is the primary protocol for distributing information on the web. It is a relatively simple, flexible, higher level protocol that runs on top of Transmission Control Protocol/Internet Protocol (TCP/IP). The browsers display documents that are typically in Hyper Text Markup Language (HTML) format. HTML is similar to many other markup languages such as LATEX, RTF, and Frame. Markup languages define areas of text by special "tagging" the specific formatting associated with those areas. When Viewing an HTML document there are hightightedt text (Nyper Text) that wilt reroute the user to another section on the same document or another document that can either residing in the same server or a different web server thousands of miles away. The web server can be anywhere as long as there is a connection to the Internet. The Hyper Text that the user clicks on to trigger the browser to jump from one web location to another is called the Universal Resource Locator (URL). The web supports hypermedia and multimedia. Hypermedia is a combination of hypertext and multimedia, where hypertext refers to the linking of related information and multimedia refers to using different types of data to represent information. In the early stages of web most of the contents are static HTML documents for publishing information purpose, that is why newspapers, magazines are among the first commercial users of the web. With the introduction of the Common Gateway Interface (CGI), computer users can fire up an application with resides in a remote web server and receive dynamic results based on user input. This feature has enabled a new class of specialized web applications that exploit the Internet's dynamic, interactive nature. Dynamic web pages are not built from ordinary HTML text files; instead, small programs or scripts create the HTML source text, which a web browser then displays to the user. Because scripts generate 13 HTML documents on the fly, they are capable of incorporating information which changes or which cannot be determined in advance. They can also be used to solicit and interpret usersupplied data, retrieve requested information, or produce content, which has been customized for a particular user. After new web browsers incorporate security features to protect transmitted information and the introduction of firewall to block unauthorized access, banks and financial institutions are moving onto Internet at an unprecedented rate. In the present scenario, the globalization of construction industry has revolutionized the project management system. When a project is large and various facilities and installations are located at different parts of the world, it becomes difficult to notify all the participants about the change in schedule or any other decision made on the project. The proliferation of World Wide Web offers a solution in this context as through the internet a user can access a wealth of information any time, any place with no third party involvement. One problem with such large and global projects is that a large number of information systems are involved. So an information-sharing model for the integration of design and construction product and process information is necessary. For example, a construction project information may consist of drawings (e.g. AutoCAD), schedules (e.g. P3) and databases (e.g. MS Access). Project planning tools must incorporate the product and process data, which may involve a lot of information systems. So, collaboration of a wide array of information systems is needed for the management of largescale engineering projects. The systems deployed for different aspects of the same project may be based on different algorithms and different data structures. Large-scale A/E/C projects may involve hundreds of multiple organizations. The complexity of these projects is likely to keep growing. So the project information and the amount of data transaction among project participants tend to expand substantially. So integration of project information becomes a significant issue for the management of large-scale engineering projects. The communications across the various sub-disciplines of an A/E/C project is inefficient and ineffective due to the inflexibility of the current data exchange. The misinterpretation of documents and drawings also leads contractors to employ inappropriate construction methods, set up infeasible schedules, waste resources and misestimate project cost. 14 1.2 OBJECTIVES OF THE RESEARCH This research attempts to achieve robust planning of A/E/C projects by introducing web based project management tools and components to the existing project management technology. The research also hopes to achieve software interoperability through object oriented approach amongst different project management software. The research also aims at providing project managers an analyzing and reporting tool for their projects. 1.3 BENEFITS OF THE RESEARCH This research will help project managers overcome the handicap of not being able to plan their projects online. Project managers can submit the project schedules, view and update a schedule from a web browser. They can also analyze the different schedules and view reports of the desired category. Project managers can also view the product, process, resource and cost informatiorr of theirprojects in a user frierrdty Graphical User Interface (GUI)' rt rmar can also monitor their projects running a simulation and generating reports and charts based on the simulation. 15 CHAPTER 2 WEB BASED PROJECT MANAGEMENT 2.1 INTRODUCTION Project Management software has improved over the past decade and but the most important of all problems is the communications of project plans and keeping the projects up to date. Various solutions have been emerging over the years including client/server applications, email, fax but nothing has shown a higher potential than the Internet. A great part of this research was devoted to study these existing methodologies and different tools available for project management. 2.2 CURRENT TECHNOLOGIES IN PROJECT MANAGEMENT The different existing technologies in Project Management were studied and evaluated before designing the Integrated Global Project Management System (IGPMS) and its components. Each component of IGPMS is described in detail in the following chapters. The different technologies considered for this research are: 2.2.1 PRIMAVERA PROJECT PLANNER Primavera Project Planner (P3) is the high-end market leader of professional project management software product for more than 15 years. Primavera's Concentric Project Management products 16 address the specific project management requirements of project-driven industries such as construction, utilities telecommunications, engineering, and petrochemical processing, representing approximately $650 billion annually in U.S. construction project spending and $21 billion annually in U.S. research and development spending [15]. Primavera Project Planner helps you manage resources, tasks and priorities across multiple-projects. P3 is ideal for managing important, large, or complex projects in industries requiring significant planning and control. It is designed specifically for project managers in environments that require multi-user and multiproject capabilities, in-depth analysis, cost control, electronic mail communications and sophisticated reporting. To organize projects up to 100,000 activities, P3 provides unlimited resources and an unlimited number of target plans. Massive data requires sophisticated, yet highly flexible organization tools: P3 supports 24 activity codes, 16 custom data items, 19 levels of sort, 28 levels of selection criteria and 31 activity calendars. The Primavera Project Planner for Windows Version 3.0 (P3 3.0) is used in this thesis. A typical project schedule in Primavera Project Planner is shown in Figure 1. 0 ASI100 Define System Requirements 10 20 0 AS101 SystemDesign 0 10 AS204 PrepareDrawingsforTemp 3 10 AS216 Prepare Drawings for a 15 AS102 Approve System Design 3 BA469 Assemble Technical Data for 13 10 10 BA470 Review TechnicalDataon 4040 CS300 System Design 15 CS310 Review and Approve Design 115 20 120 CS430 Prepare Drawings for CS440 IReviewand Approve 1 51 51 100 100 100 70 100 0 0 0 0 0 0 ingAddition Bull toqiremeis Syste Design Prepal DrawlingsforTemp ControlEquipment for System Controller Proare l Al )rove System Design Assemble TechnicalData for Heat Pump P-V _ ReiviewTechnicalDataon Heat Pumps SystemDesign Reviee andApproveDesign Prepare Drawingsfor Conveyor 4T ReviewandApproveDrawing Am Defie M V 7 Tn Evans-Program Manager 5 AS0Rvew and Approve Temp JAS217IReviewand Approve System 1101 AcmeMoDre-Own 14 BA501lRevew ad Approve 0 10 0 Re 0 100 0 - Drawings Equipment andApproveTemp Control -V ReviewandApproveSyistemControler Rei ew andApproveDesigns V Review andApproveBrickSamples aw- Figure 1: Primavera Project Planner 3.0 Interface [5] 17 2.2.2 RA AUTOMATION ENGINE RA is An OLE Automation Server and Scheduling Engine. RA is a significant step forward in the development of interfaces to project management functionality, processes, and project data for use in a wide range of business applications. As a server, RA enables access to Primavera Project Planner's advanced scheduling, leveling, resource and activity data, and cost calculations through an object-oriented automation server based on OLE 2.0 [16]. Legend Current User c P3 Session Entity P3 Project Supertype/Subtype -0 Relationship Resource -c Predecessor Dee e Kt Dr [Account Resource r Activity Assignm Relationship _C Successor ent C cI Cost Account Cost Accout -aegr -c Calender Figure 2: RA Class Diagram [3] By using the RA Software Developer Kit (SDK), programmers can access, manipulate, and/or create project data with industry-standard programming tools, such as Microsoft Visual Basic, Microsoft Visual Basic for Applications, Microsoft Visual C++, Microsoft Test, Borland Delphi, Oracle Power Objects, Powersoft PowerBuilder and SoftBridge Basic Language. RA offers the flexibility and power to customize existing tasks, link existing applications, and build entirely 18 new applications around Primavera Project Planner's functionality, data integrity, and business rule set. Corporate systems throughout the enterprise can utilize RA as a background process, feed data to be run through the scheduling engine, and then use the subsequent results. Figure 2 shows the RA class diagram. 2.2.3 VISUAL C++ Visual C++ is a Windows-based programming language based on ANSI C++. It provides an environment for creating Windows applications, a framework to begin with, and tools which allow you to custom-build your application. At the heart of Visual C++ is a library of Microsoft Foundation Classes (MFC) which are general-purpose classes of all types. Thanks to data isolation, we can use code, which has been written by someone else to support our own applications. The Integrated Development Environment (IDE) for Visual C++ is the Developer Studio where the programmer can access all the templates, tools, libraries, and even on-line help. In this thesis, Visual C++ 5.0 is used to write the code for accessing RA engine OLE functions. Figure 3 is a typical Visual C++ environment for developing C++ program. Figure 3: Visual C++ 5.0 Interface [37] 19 2.2.4 COMMON GATEWAY INTERFACE (CGI) PROGRAMMING The CGI (Common Gateway Interface) is the standard by which external programs (often called gateways or gateway programs) can interface with an HTTP (Web) server. Thus CGI programs act as gateways between the HTTP server and databases, or between the server and local programs or document generators. Server Client Figure 4: Common Gateway Interface Architecture Figure 4 illustrates the flow of data when a user accesses a CGI program. The solid line shows to data flow using HTTP and CGI. HTTP transfers data from the client to the HTTP server, and back again. The CGI mechanism controls the flow of data from the server to the gateway programs (shown as the prism) and back again. These are called gateway programs because they generally act as gateways between the World Wide Web and server-side resources such as databases, feedback forms, click-able image-maps, and so on. CGI specifies how data are sent to the gateway program, and how data can be returned by the gateway program, through the server and back to the browser that originally sent the data. The basic mechanisms are: * Sending Data to the Gateway Program The CGI specifies how data are sent to the gateway program (as environment variables or as data read, by the gateway program, from standard input) and what data are sent (in general, all the data 20 sent by the client to the server, plus extra environment variables describing the status of the server). * Returning Data to the Client To return data back to the client program (the user's web browsers) the gateway program just writes data to its regular (standard) output. These data are sent back the client, after some processing by the server to ensure they have the correct message headers describing the data and the state of the transaction. The gateway program must write to standard output, before anything else, header messages explaining the MIME type of the data being returned by the program, this is the only way that the server can know what type of data are being returned by the gateway program. 2.2.5 PERL Perl is the "Practical Extraction and Reporting Language." It was created by Larry Wall as a tool for writing program in the UNIX environment and is cortimaafy beTg updated ant maitained by him [21]. Perl combines many features of shell, awk, sed, C, and Basic programming in a easy-to-use scripting language that is ideal for text-file manipulation and general system management tasks. It is designed to assist the UNIX users with common tasks that are probably too heavy or too portability-sensitive for the shell, and yet too weird or short-lived or complicated to code in C or some other UNIX tool language. Unlike C, Perl is an interpreter-based (and not a compiler-based) language. Because of this, a Perl program does not need to be recompiled after a modification. The Perl "script" contains the actual commands (as written by the programmer), while the Perl "program" interprets these commands and executes the script. While the use of an interpreter avoids the need for recompilation, it does result in slower execution times compared with a similar program written in C. Since Perl is in the public domain, it may be obtained freeof-charge from the Internet such as ftp://prep.ai.mit.edu. Perl is available for UNIX, Mac, DOS, Amiga, and several other platforms. Perl is an excellent tool for text and file processing, this is why Perl has become the most popular programming tool for CGI scripts used on web servers. 21 The version used in this thesis is Perl 5.0 for DOS, installed in C:\PERL5. 2.2.6 MICROSOFT INTERNET INFORMATION SERVER (IIS) Microsoft Internet Information Server (IIS) is an Internet file and application server included with the Microsoft Windows NT® Server operating system. IIS can be used alone as a Web server, or in conjunction with compatible technologies to set up Internet commerce, to access and manipulate data from a variety of data sources, and to build Web applications that take advantage of server script and component code to deliver client-server functionality. Because of its tight integration with Windows NT Server, IIS guarantees the network administrator and application developer the same security, networking, and administration functionality as Windows NT Server. Above and beyond its use of familiar Windows NT Server tools and functionality, IIS also has built-in capabilities to help administer secure Web sites, and to develop and deploy server-intensive Web applications. The Microsoft Management Console (MMC) (see Figure 5) provides one utility for administrators to manage the network environment. With- the Mmagement -cosAOe-, network administration tasks can be customized for each administrator. Snap-ins for the MMC provide the ability to administer specific server components. One of the snap-ins for the MMC is IIS's Internet Service Manager, which gives administrators the ability to create Web and FTP sites, change default settings of a site, assign operators to tasks, start and stop sites, manage transactions, view statistics, manage tasks locally and remotely, and perform all other administrative tasks for the Web server or servers. 22 mmim~~ ,n Micfosoff Management Console Iiis mse Console RootkIntemet n ofmation - ervel ' gpms e au t e te .1 a Figure 5: Microsoft Management Console [38] IIS also includes a Web-based administration tool that makes remote administration of Web servers possible through use of a Web browser. One of the most exciting features of IIS 4.0 is its powerful application development platform. Active Server Pages (ASP) technology, server components, search and index features, and new transaction-processing capabilities are making development of server-intensive Web applications one of the fastest growing components of Web development. Web developers need access to features that enable commerce, database access, personalization, and dynamic content generation on the Web. Intranet developers also need these features along with the ability to full-text search across all documents on their networks. 2.2.7 ACTIVE SERVER PAGES (ASP) Active Server Pages is an open, compile-free application environment in which you can combine HTML, scripts, and reusable ActiveX server components to create dynamic and powerful Webbased business solutions. Active Server Pages enables server side scripting for IIS with native 23 support for both VBScript and Jscript [17]. An ASP script begins to run when a browser requests a .asp file from a Web server. The Web server then calls ASP, which reads through the requested file from top to bottom, executes any script commands, and sends a Web page to the browser. As the scripts run on the server rather than on the client, the Web server does all the work involved in generating the Web pages that is sent to browsers. The Web server does all the script processing, transmitting standard HTML to the browser. Server-side scripts cannot be readily copied because only the result of the script is returned to the browser. The users cannot view the script commands that created the page they are viewing. Figure 6 displays the ASP architecture. Server Client ere Decoding~ ag - HTTP J------ Page Dynarni Figure 6: Active Server Pages Architecture 2.2.8 OPEN DATABASE CONNECTIVITY (ODBC) Open Database Connectivity (ODBC) is a widely accepted application programming interface (API) for database access. It is based on the Call-Level Interface (CLI) specifications from X/Open and ISO/IEC for database APIs and uses Structured Query Language (SQL) as its database access language. The ODBC interface makes it possible for applications to access data from a variety of database management systems (DBMSs). The ODBC interface permits maximum interoperability-an application can access data in diverse DBMSs through a single interface. Furthermore, that application will be independent of any DBMS from which it accesses data. Database applications call functions in the ODBC interface, which are implemented in database-specific modules called drivers. The use of drivers isolates applications from databasespecific calls in the same way that printer drivers isolate word processing programs from printer- 24 specific commands. Because drivers are loaded at run time, a user only has to add a new driver to access a new DBMS. Figure 7 illustrates the ODBC architecture. The ODBC architecture has four components: " Application. Performs processing and calls ODBC functions to submit SQL statements and retrieve results. * Driver Manager. Loads and unloads drivers on behalf of an application. Processes ODBC function calls or passes them to a driver. * Driver. Processes ODBC function calls, submits SQL requests to a specific data source, and returns results to the application. If necessary, the driver modifies an application's request so that the request conforms to syntax supported by the associated DBMS. * Data source. Consists of the data the user wants to access and its associated operating system, DBMS, and network platform (if any) used to access the DBMS. Application ODBC API Driver Manager ODBC API eDriv Driver Driver Data Data Data Source Source ource Figure 7: ODBC Architecture 25 CHAPTER 3 ENGINE MODEL 3.1 ENGINE COMPONENT Engine component (originally called "SCHEREC") was developed by Yee-sue Chiou and Feniosky Pefia-Mora [3] with aim to achieve interoperability among software components and establish a common language for information exchange among project management systems. In this research the Engine component was studied and integrated with the Interface and Analyzer model, which will be discussed in the following chapters. Some of the modures in Engine component (SCHEREC) were also modified to make SCHEREC run on any computer where the software components like P3, RA, MS Access, MS Excel and AutoCAD are installed. Initially SCHEREC could be only run on a specific server and this research removed this handicap and integrated the Engine component with the other components of Integrated Global Project Management System (IGPMS), namely Interface and Analyzer. 3.2 THE ENGINE MODEL The Engine model aims to integrate information used in the design and construction processes for better management of large scale engineering systems (LSES). Different disciplines use individual software tools to create, manipulate and maintain their product and process information. For example, architects use Autodesk AutoCAD [4] for representing the physical characteristics of a project. Schedulers use Primavera Project Planner [5] for capturing the logic 26 and time needed to build the project. Estimators use Timberline [18] for developing the cost associated with the project. Accountants use special accounting systems, such as J.D. Edwards' Financial Suite [19], or customized database systems to track the expenditures on a project. As a result, diverse LSES models and software tools are being used by each individual specialty in the current community. Object-oriented modeling technology can be used to encapsulate and manage these different types of entities in the product and process models. Thus the object-oriented modeling processes, which follow the standards of ISO STEP [12], ISO Building Construction Core Model (BCCM) [20], IAI [11] and Industry Foundation Classes [11], are used to develop the Engine model for integrating these diverse product and process models in infrastructure projects. 3.3 THE ENGINE CORE MODEL The major role of the Engine core model is to integrate project information into the product, process and resource models. The foregoing section defines an applicable process for the integration among the product, process and resource models. Figure 8, in EXPRESS-G [22], gives an illustration of the interconnectivity among them. First, top-level abstract entities, such as product, process, and resource are identified. In the second level, the entity groups, which are aggregated from individual domain elements, are derived from these abstract entities. Meanwhile, the entangled nature of A/E/C abstract entities are represented by the relationship between entity groups. Furthermore, three subtypes of resource usage object keep track of the resources consumed by entities of the product and process models; the cost account, in connection with the resource model, will perform the model-driven takeoff. After the creation of the Engine Core Model, any change to the original design will generate new construction schedules and estimate the equitable cost. 27 [1:?] Legend Entity Supertype/Subtype Relationship cardinality [1:?] Figure 8: Engine Core Model in EXPRESS-G [3] Implementation the Engine Component uses AutoCAD14TM [4] as the graphical engine, Primavera RATM [5] as the scheduling engine, MS AccessTM [7] and MS Excel 9 7 TM [23] for cost and resources. Since the Engine Model does not deliberately overhaul the original design cycles to accommodate the computer-based information flow, A/E/C project participants need to adjust their discipline as little as possible. For instance, as the design team, which is composed of architects and engineers, finishes the schematic design in AutoCAD, all of the components within the design work will be systematically organized into the building component hierarchy of the 28 product model. As the construction team, following the scheme, completes the construction plan in Primavera Project Planner, the construction task hierarchy of the process model is formed at the same time. Then, the resource objects are created from the resource database according to the resource class template. Afterwards, all mappings among the Engine product, process and resource entities are generated in accord with the predefined object-oriented diagram in Figure 9. The concept of the Engine model sheds new light on the integration of data and knowledge of an infrastructure project through the entire project life cycle. The three Engine sub-models manage the product, process and resource information for different aspects of project management. The Engine core model presents a systematic way, which conforms to the IAI IFC [11] development process, to integrate these three sub-models. As a result, the integration of project information among project team members and their computer systems can be achieved through the implementation of the Engine model. Engine Model CAD Application Model Scheduling Application Model Other Object Services Database System . Figure 9: Object Request Broker Architecture [3] The attempt to integrate different A/E/C systems has been proposed since the 1980s [24], but the main integration mechanisms were limited to file exchange and shared software libraries. Due to 29 the lack of a generic A/E/C information representation mechanism, their information-sharing levels have been confined to geometrical and text-based information. Furthermore, the consistency of A/E/C information is hard to maintain and the synchronization of these systems needs a great deal of labor. The evolution of object-oriented technology has promoted the evolution of software interoperability. The Object Management Architecture (OMA), defined by Object Management Group (OMG), provides a high level of abstraction [25] to allow the integration of a wide variety of objects. The core of the OMA is the Object Request Broker (ORB), which delivers requests to server objects and returns the result to the client objects. The software interoperability enables an object-oriented system to take advantage of a variety of software products through the standard software interfaces. A number of software developing tools, such as IONA Orbix [26], IBM DSOM [27] and Microsoft COM [28], allow the interoperability of different systems. Due to the current availability of interoperable software components, the Engine component has been implemented in Microsoft Component Object Model (COM). Unlike traditional application programming interfaces (API), a COM-based application, which is also known as Automation Engine, exposes its interfaces precisely and completely through COM. That is, COM defines a common way for software components to access software services [281. The responsibility of an Automation Engine, which is deployed in a COM-based object model, is to describe its methods grouped by its COM interfaces and to maintain data of activated COM objects. As a result, other COM-based objects can navigate the internal COM model, retrieve data, and perform any internal methods of an Automation Engine. Figure 10 shows two kinds of automation methods: * In-Process Automation, in which service objects are in the same process as the client application. Usually an In-Process server is implemented in a dynamic-link library (DLL). For example, the service of RA Engine to the Engine component is launched through this kind of automation [5]. * Local Automation, in which COM services are provided in a separate process running on the same machine. For example, AutoCAD provides its function to the Engine component 30 through such a mechanism. Legend IMyinterface Reference1 Interface COM Object Reference2 In-Process Server COM Application COM Object IUnknown Reference System Process COM Object Onterface2 Reference ........... Local Server Figure 10: COM-based Automation [3] 3.4 ENGINE COMPONENT ARCHITECTURE The Distributed Computing Architecture is illustrated at Figure 11. The user interface components and specific engineering components can be deployed on the client machine. Meanwhile, the middle-tier machines construct the application servers and the database servers are running on the back-end machines. Thus, it can be estimated that the interoperability will evolve into a fundamental underpinning for the integration of a full array of engineering software components. As a result, the collaboration of project team members will also be supported in a distributed computing environment. The implementation of the Engine Component demonstrates the cooperation of engineering design systems and project management systems. The interoperability among AutoCADTM, Primavera Project PlannerTM, RATM Automation Engine, Microsoft Access 97 TM and Microsoft Excel 9 7 TM promotes the functionality of integrated project management system. Moreover, the deployment of the product, process and resource entities of Shimizu Smart Tower proves the feasibility of the interoperable integrated project management 31 system for the real world project. Client Middle-tier Back-end Client COM User-Interface Component DCOM/ORB Validation Component Database COM COM __CEYDDCOM/R Engineering Component DCOM/OR Design and Construction Rule DCOM/ ORB Database Dtbs Component Figure 11: Distributed Computing Architecture [3] 3.5 SUMMARY OF THE ENGINE COMPONENT Engine component integrates the product, process, cost and resource information and provides a common language of communication between the respective information systems. Engine allows project managers to visualize the project from a user friendly GUI. A user can look at the different drawings essential to a project. The user can also edit any part of the drawing by clicking on the object. Engine also allows users to access the schedule information of the project. The user can either update the schedule or take help of the in-built recovery strategies of Engine for example, crashing of activity duration, hiring of new resources or assigning overtime. Engine enables users to view the resource information of a project and allows the user to update this information. The most interesting feature of Engine Component is that it also allows the user to run a simulation of the project and view different kind of project reports and sequence of construction. Engine thus integrates physical, schedule and resource information of a project while planning and simulating a project. Engine will be used mostly by project managers who make important decision with respect to 32 product, choice of process, cost and resource allocation. Project managers also can simulate the progress of a project and view the product, process, cost and resource information as a function of time and take decisions accordingly. Also, project managers who wish to recover a schedule can do so with the help of the Engine's different schedule recovery strategies. Thus Engine Component caters mostly to high-level project managers. A project schedule is maintained and updated by on-site contractors and schedule managers who do not take the high-level decisions regarding process, cost and resource but play an important role in the schedule of a project. They require that the schedule information is available to them in an interface where they can visualize the schedule and also make changes instantly to the schedule from the visual interface. The Interface Component caters to this need by providing schedule information in a visual interface through the web and also tools to update the schedule from the web based interface. The Interface Component is described in detail in the next section. 33 CHAPTER 4 INTERFACE MODEL 4.1 INTERFACE COMPONENT Interface component (originally called "GPMS") was developed by Hong Chen and Feniosky Pefia-Mora [2] with aim to develop a web based interface component by combining the power of existing project management system with the World Wide Web, making the project schedule available to anyone from anywhere. With the GPMS system, a very small management team will able to manage many projects in one office, running a single copy of this system on a single computer with the live field data coming in through Internet. The schedule will be updated instantaneously instead of weekly or monthly. In this research the Interface component (originally called "GPMS") was studied and integrated with the Engine and the Analyzer model. Analyzer model will be discussed in the following chapter. Initially GPMS could only open a specific Primavera project (e.g. "APEX") and show only 18 activities of the project. This research removed this handicap and now the Interface component can open any Primavera project and show all the activities for the project. Now with the new Interface component, project managers will be able to view filters defined in the Primavera project as well. The Interface model is based on client/server architecture on the Internet. At the client side, the users can access the project schedule by going to the web page of the project through a web browser, update the duration of the activities, and recover the delayed activity by making existing resource work over time or hiring new resource. After the changes are made, this information is sent in HTML form input to CGI gateway programs on the server side. Then CGI scripts call 34 Visual C++ program to access the project schedule in Primavera Project PlannerTM through the RA Engine T M to update the project schedule and reschedule all activities based on activity relationships and the user input. The latest schedule progress in HTML format is sent through C++ interface and CGI gateway program to be shown on the web by Java applets. In other words, the project schedule can be updated from anywhere at anytime by any authorized people from any machine that has a web browser running. The latest schedule is immediately available to all those who has a web browser such as Netscape NavigatorT M or Internet ExplorerT M by a single click, whether the machine he or she uses is a UNIX, or Macintosh or Windows PC. Since Primavera Project PlannerTM only runs on PC, this alone is a big step forward for those who don't use PC. Better communication is achieved with less direct contact with all the participants in the project. The cost savings in fewer management personnel, few computers and software purchases and fewer offices to accommodate them are enormous let alone there is no long distance communication charge. Client Middle-tier Figure 12: The model for the Interface Component 35 Back-end 4.2 COMPONENTS OF INTERFACE The Interface component is a web based project management system by combining the power of existing project management system with the World Wide Web. The Interface component will allow users to access the project schedule resided in a web server, update the schedule, recover the delay of the schedule by reallocating resources and view the updated schedule through a Web browser at any time from anywhere. The following section is a description of all the components involved in developing the Interface Component, including both server side and client side software. Primavera Project PlannerTM (P3) is the high-end market leader of professional project management software product for more than 12 years with an installed user base of more than 50,000. The Primavera Project PlannerTM for Windows Version (P3) is used in the Interface component. RATM is An OLE Automation Server and Scheduling Engine from Primavera Inc. As a server, RATM enables access to Primavera's advanced scheduling, leveling, resource and activity data, and cost calculations through an object-oriented automation server based on OLE. On the server side; Peri scripts and Java applets are aso corn pnvents of the Intefface. Onre of the. most obvious advantages of the Interface component over other project management system is that no special proprietary software is required at the client side. All the user needs is a web browser running on any UNIX, Macintosh or Intel machine. The web page acts as the user interface to pass user input to the web server for processing. 4.3 SUMMARY OF THE INTERFACE COMPONENT The Interface Component helps on-site project managers and contractors to view and update the schedule information from the web. The information is instantly updated and made available to all the participants of the project irrespective of their location. Interface also helps users to update a schedule in order to recover a schedule by adopting different strategies such as hiring new resources or increasing overtime. The Interface Component is user friendly and does not require extensive training on computers especially Primavera Project PlannerTM. An on-site contractor 36 need not know Primavera tools to update a schedule through the interface component. Interface thus helps in faster and efficient schedule access to the people who are more concerned with the scheduling part of a project. While the current schedule is very important while updating or recovering a schedule by hiring new resource or increasing overtime, project managers also take into account the past performance, trends, anomalies, patterns and evolution of the schedule. While Interface component helps project managers and on-site contractors to view and update the schedule in real time, it does not have the functionality of displaying the evolution of a schedule over time and analyses of different time frames. Analyzer component caters to this need by providing a schedule analysis engine integrated with a web interface. The analyzer component is discussed in detail in the next section. 37 CHAPTER 5 ANALYZER MODEL 5.1 ANALYZER COMPONENT Schedules of a project can be analyzed from a browser with the help of the Analyzer component. The Analyzer Component allows users to access schedules for which they have permissions. The Analyzer requires users to log on and a list of projects is then displayed to the user. The user can select any project for analysis. The user can view the reports based on the changes made to the schedule from one time period to the other. For example, the activities finished after the first time period. The user also has an option of viewing all the changes made to project on a category which he can select at run time. The basic building blocks of Analyzer are Active Server Pages (ASP). An Active Server Page is basically an html file along with VB script and/or Java script codes. An active server page is used for server side database interactions from the web. A client can interact with the server database by sending requests to the active server pages, which reside on the server. The user sends the requests through a web browser. The active server page processes the request and then the active server page interacts with the database on the server side. The active server page sends the user security information and the query to be processed to the database. The results are then fetched by another active server page, which displays the results to the user through the web browser. The Analyzer can be used for comparing different schedules of a project. Based on the comparison several reports can be generated by the Analyzer. The following types of reports 38 generated by the Analyzer. 5.2 SYSTEM ARCHITECTURE OF ANALYZER COMPONENT The basic components of Analyzer are Primavera Project PlannerTM, RA Engine T M , ODBCTM and ASP TM. Client Middle-tier Back-end Figure 13: System Architecture of Analyzer Primavera projects are incorporated to the Btrieve database by updating the DDF files (File.ddf, Index.ddf and Field.ddf) in the primavera project directory (typically C:\P3WIN\PROJECTS). After the DDF files are setup for the projects, an ODBC data source is created. For the System DSN, a suitable name for the data source, an appropriate driver (Pervasive ODBC-32) is selected. In the Pervasive driver menu the location of the DDF files and the Primavera projects are specified. After the ODBC System DSN is setup, SQL queries can be run from the web through Active Server Pages. 39 The building block of the reports that the Analyzer Component generates is a SQL query. When the user selects a particular type of report, a corresponding query is run in the server. The first and second time frames or versions of the same project schedule are passed as arguments. For example, the corresponding query for "Activities Added since Last Report" looks something like this. "SELECT DISTINCT" + Second + "ACT.Actld," + Second + "ACT.ActivityTitle, "+ Second + "ACT.ES" + Second + "ACT.EF," + Second + "ACT.TotalFloat," + Second + "ACT.OrigDur FROM" + Second + "ACT WHERE " + Second + "ACT.Actld not in (SELECT DISTINCT" + First + "ACT.Actld FROM" + First + "ACT)" "First" and "Second" are two arguments specifying the first and second version of the schedule respectively. A typical report request may look something like this: http://gpms.mit.edu/12.asp?First=ASPN&Second=CONT Here 12.asp corresponds to the ASP page that contains the query for the report category "Activities Added since Last Report". The fiFS time -frame is the schedule "ASPN" and the second time frame is the schedule "CONT". Both these schedules are versions of the same project (Edge Hill Continuing Care Community Project). For the queries to run successfully, it is absolutely necessary that these projects are incorporated into the Btrieve database. The projects can be incorporated into the Btrieve database by updating the DDF files from Primavera Project Planner. This query is run on the server by the corresponding ASP script when the user requests a particular category of report and specifies the first and the second time frames. After the query is run on the Primavera ODBC data source, the result of the query is displayed in the form of an HTML table. 40 5.3 SUMMARY OF THE ANALYZER COMPONENT The Analyzer component helps users to analyze the schedules of a project and generate reports that help plan the subsequent modifications to the project schedule. The user also gets an idea about the trends and patterns of changes made to a schedule in a given category. The user can also study the activities and recognize the activities which might influence the project schedule more than other insignificant activities. The Analyzer component generates reports, which can be used for administrative purposes and also could be used by individual contractors to estimate the duration of the activities in the next revision. The Analyzer component is thus a necessary tool in the decision making process while scheduling a project. 41 CHAPTER 6 INTEGRATED GPMS MODEL 6.1 IGPMS The integration of the three Components is achieved through the design of an architecture, which integrates the three without any major changes in their existing architecture. The architecture uses CGI technology for integrating all the three components into a single web based system. The product information for example, AutoCADTM drawings is incorporated by ActiveXTM technology. The simulation results in the form of ExcelTM charts and graphs are supported Internet Explorer TM and can also be viewed in Netscape TM after downloading required plug-ins. The system architecture of Integrated Global Project Management System is discussed in detail below. 6.2 SYSTEM ARCHITECTURE The basic components of IGPMS are Primavera Project PlannerTM, RATM, AutoCAD T M, Excel TM, MS Access TM, Visual C++TM programs, CGI scripts, ODBCTM and MS ASPTM. IGPMS integrates all the three components discussed before in a common framework rather than treating each of the architecture as different units. Figure 14 shows the integration framework for IGPMS. The Engine component is a Visual Basic program, which integrated the product, process, cost and resource information. The Visual Basic program interacts with Primavera the same way as the Interface component. In addition, it also interacts with AutoCAD, MS Excel and MS 42 Access using the COM technology. Client Middle-tier Back-end ODBC Web Browser ASP CGI P3 C++ Program UeVisual 00RA Engine MS Access Visual Basic Program .MS Excel AutoCAD Figure 14: System Architecture of IGPMS The Interface component interacts with RA Engine through CGI and publishes project information to a web browser. The project information is displayed on a JAVA applet, so any JAVA enabled browser can access the project information and also can update projects through the web using the Interface component. The Analyzer component interacts with Primavera Project Planner through Pervasive ODBC driver for Btrieve and publishes HTML reports to the web by analyzing different time frames of 43 the same project and also the analysis of the evolution of a project. The user can view the reports on a web browser and does not need to install any special software for this purpose. 6.3 SUMMARY OF THE INTEGRATED SYSTEM The Engine Component presented in this thesis has demonstrated a conceptualized framework to improve the integration of project information. The underlying Engine model brings a new level of openness to A/E/C domain practitioners through object-orientation and software interoperability. The software interoperability of an integrated project management system allows the estimation of the project cost, the creation of new schedules and the analysis of design alternatives beyond the capability of a single A/E/C application. The project management practice across specific engineering or managerial areas reinforces the evaluation of the construction plan and supports the decision making process. Hence, the quality and efficiency of current project management are improved. Besides the concept of integrated project management, this thesis also sheds a new light on the development of collaborative computing systems. As distributed computing and interoperability technologies become mature, more dedicated A/E/C software components are likely to burgeon. Thus, a new computing system can easily be assembled, that allows the collaboration of architectural, engineering and construction information system, by a variety of software components through their standard object-oriented interfaces in a distributed computing environment [25]. The Interface component presented in this thesis has demonstrated that it is possible to manage a project schedule through Internet without disregarding legacy schedules, with a scheduling engine running in a web server, and Java applets within web browser as user interface. This would eliminate the need to install multiple copies of scheduling software on many computers while making the project schedule accessible to all people who have a web browser in their computer, whether it is a UNIX, Macintosh or Intel machine. The interactive nature of the web makes it possible for the users to update the schedule in the web server from any where at any time, thus greatly facilitate the collaboration among participants involved in a project who are located at different geographical locations. Interface allows users to access the project schedule resided in a Web server, update the schedule, recover the delay of the schedule by making the exiting resource 44 to work over time or hiring new resource, view the updated schedule and review the cost changes through a Web browser at any time from anywhere. With this functionality, schedule will be updated instantaneously instead of weekly or monthly. The Analyzer Component presented in this thesis has demonstrated that it is possible for a project manager to analyze project schedules and view evolution of a project schedule through the web and take decisions based on the analysis. The analysis reports are in Industry Standard form and can help in the decision process. The Integrated Project Management System (IGPMS) presented in this thesis integrates the three components in a seamless manner. To the user IGPMS appears as a single system with three powerful project management tools. 45 CHAPTER 7 IMPLEMENTATION 7.1 ENGINE COMPONENT The engine component can be downloaded from http://gpms.mit.edu/scherec/scherec.zip and should be unzipped to C:\SCHEREC directory. The Engine program can be launched by running the executable file C:\SCHEREC\SCHEREC01 14.exe. The Engine program requires that Visual Basic, AutoCAD, Primavera Project Planner, RA Engine, MS Excel and MS Access are properly installed. 7.1.1 PROJECT MANAGEMENT USING THE ENGINE COMPONENT Once the project starts, project managers will launch Engine component to perform the project management tasks. Figure 15 shows the main screen of the system, and users are asked to select the geometrical engine, scheduling engine, accounting engine or dynamically loading according to their specific needs. 46 Figure 15: Engine Component Main Screen [3] After the initialization of the selected automation engines, the Engine component will ask user to select the project template for different types of project as Figure 16 shows. In current implementation, there are three different project templates available. The project manager may choose a 4F, 6F or 8F project template, whose construction plan and architecture design conform to the Shimizu Smart Tower project. The constructions of Engine classes follow the IAI IFC standard in the current version of the Engine component. In future version, the Engine component may allow users to create ISO STEP and BCCM based classes. As a result, different implementations, which follow the same modeling format, will be able to share project data. 47 Figure 16: Project Template Selection [3] Then, project managers may click the object browser tab to create instances of objects in the Engine component model as demonstrated in Figure 17. The Engine component uses different colors to denote different types of class in AutoCADTM. Figure 17: Engine Component Model in AutoCAD [3] 48 Thereafter, the two arrow buttons are employed to navigate the Engine's building component hierarchy and the object editor helps users to modify the attributes of the located entity as Figure 18 and Figure 19 show. Figure 18: Engine Object Browser [3] Figure 19: Engine Object Editor [3] 49 After the establishment of the Engine product model in AutoCAD, project manager can click the activity browser to load the project level construction schedule, which is in Primavera Project Planner format as Figure 20 shows. Meanwhile, the Engine Component will organize the activities in the schedule into the Engine construction task hierarchy as discussed before. Since the Engine building component hierarchy has been created in AutoCAD, the process entities in the Engine construction task hierarchy are mapped to the corresponding product entities in the same position in the Engine building component hierarchy. C Syste I Figure 20: Engine Activity Browser [3] Project managers may highlight a specific activity and press the "Edit Activity" button to launch the activity editor. As Figure 21 illustrates, the activity editor allows users to redesign properties of activities, such as CPM/PERT, resource assignment and schedule recovery parameters. Afterwards, user my recalculate the updated schedule by pressing the "Reschedule" button as illustrated in Figure 22. 50 ~~ij ~~1 Figure 21: Engine Activity Editor [3] Once the Engine product and process model has been created, the resource browser instantiates cost account, resource and resource use objects according to the product and process model, which have been created by the object and activity browser. Then, project managers can monitor resource and cost account information as shown in Figure 23. 51 Figure 22: Engine Rescheduling [3] Moreover, after the establishment of the product, process and resource models, the Engine Object Editor enables users to monitor the corresponding activity in the Engine Activity Editor by pressing the "Edit Activity" button in Figure 22. Thus, this functionality allows project managers to specify, create, monitor and modify the connections between the product entity and its corresponding activities. 52 Figure 23: Engine Resource Browser [3] At last, the project monitor tab enables project managers to select the types of progress reports that he/she may want as shown in Figure 24. When project proceeds, the construction sequence simulator help user control the speed of progress and monitor the project at any specified time as Figure 25 illustrates. The Gantt chart of the project is displayed in Figure 26 to present the graphical schedule information. The daily cash flow diagram estimates the project expenditure on a daily basis as Figure 28 shows. Similarly, the cumulative cash flow diagram, as Figure 27 shows, demonstrates the spent budget so far. The daily resource allocation diagram is illustrated in Figure 29, displaying the percentage of each resource in a specific project time. The resource assignment diagram is helpful in the analysis of resource availability and resource leveling as Figure 30 shows. 53 3 ERCSstr LC;: -s Figure 24: Engine Project Monitor [3] IX ConstFUCtion Sequence SIMUIatOF -------7 Figure 25: Engine Construction Sequence Simulator [3] 54 Figure 26: Gantt Chart [3] Figure 27: Cumulative Cash Flow [3] 55 Figure 28: Daily Cash Flow [3] Figure 29: Daily Resource Allocation [3] 56 Figure 30:. Resource Assignment [3} 7.1.2 SCHEDULE RECOVERY The Critical Path Method (CPM) was designed to control both the time and cost aspect of a project [29]. However, the current CPM tools do not define a clear mechanism to update the change in the costs. The trade-off between time and cost is usually established by the experience of project managers. Project delay, caused by differing site conditions, unknown subsurface condition, insufficient resource or the breach of contracts by subcontractors, is not uncommon in an A/E/C project. Thus, the estimation of cost to recover the schedule becomes one of the most important project management tasks. The Engine component, which is built on an integrated model, defines two functions to expedite a construction activity to recover the schedule and help project managers to 57 monitor the increased project cost. The first method is to make existing resources work overtime, which allow project managers to specify the normal working hours per day, the overtime percentage of existing resource, the overtime salary ratio and overtime productivity. Figure 31: Schedule Recovery I [3] The other method is to hire more new resources. These parameters of new hire and overtime are outlined by the attributes of an activity object. Thereafter, the project monitor of the Engine Component can present the new daily cash flow diagram and cumulative cash flow diagram after 58 the product, process and resource model incorporate these schedule recovery attributes. Figure 32: Schedule Recovery II [3] Here the following scenario is provided to demonstrate the schedule recovery functionality of the Engine Component. During the excavation of the foundation, the underground conditions at the test borings are materially different from that shown in the construction documents. As Figure 31 shows, both the free float and total float of the "Excavation" activity are zero. That is, this activity is in the critical path and the differing site conditions may delay the entire project. 59 Figure 33: New Daily Cash Flow [3] Figure 34: New Cumulative Cash Flow [3] As Figure 31 illustrates, the Engine activity editor allow project managers to hire 5% more new resource with salary ratio 0.9 and make existing resource 10% overtime with salary ratio 1.20 for the activity, "excavation". After pressing committing, the duration of the activity will be shortened to 4.45 days as Figure 32 shows. Figure 33 and Figure 34 illustrate that the additional $45,000 is in need to crash the activity for 0.55 day. 60 7.2 INTERFACE COMPONENT The Interface component (GPMS) resides at the "gpms.mit.edu" web server. A user can go to the GPMS web site by typing the URL http://gpms.mit.edu/ in a web browser. Figure 35 is the home page of GPMS, which functions as a global project management system on the web. 7.2.1 SCHEDULING WITH INTERFACE COMPONENT Figure 35 shows the homepage of GPMS. The user is prompted for a login and password. These information are the same as that of Primavera Project Planner. Figure 35: GPMS Home Page The user provides the login and password information and submits this information to the server and this information is validated by Primavera Project Planner through the RA automation engine and then valid users can log in to the GPMS. The following page loads after the login and 61 passwords are verified. [3Global Piolect Management System Homepage -Miciosoft I ntemnet Exploice"F S&, Select Project Name from all the Available Projects IAG21 Select Project Name from allthe Available Projects to Filter: AG21 ,eLL! ] There is a big scheduling engine running in the server,please bepatient.... Figure 36: Interface Component Home Page The user has two options to choose from (see Figure 36). First option is to select any project from the drop down menu and view the schedule. The second option allows the user to view the different filters according to the different activity codes defined for the project. When the user selects the first option, the following page loads, which shows the information for the first 18 activities of the project. The information is shown in tabular as well as graphical form. The table in Figure 37 shows the details of the different activities such as "Activity ID", "Description", "Early Start", "Early Finish", "Duration", "Percent Complete", "Total Float", "Resource", "Budgeted Quantity", "Quantity to Date", "Units per Time Period", "Budgeted Cost" and "Cost to Date". A Gantt chart shows in a graphical form the start and finish dates of each activity. The user can 62 view the next 18 activities or previous 18 activities by clicking on the appropriate button at the bottom of the page. 'Global PFoiect Magement System -Micuosoft Internet E xplo ei ID jecriptisn I LetterOfAuthorizaton 3 Submittals S GneraRedements jEarlyStait JUN11997 JUN 2 1997 tEarlyFn MAY31 MAR12 JUL 221997 SEP it 3 JUL111 JUN21997 M.AY 271998 OCT12 AUG2 APR15199 ]JUL251 1JUN 21997 SEP111 AUG11997 Masonry MAY27 1998 AUG26 Pavers AUG11 JUL11997 Stone OCT17Struct.StLJoists &Deck JUN21997 SEP101 N UN11998 Misc.Mt AUG21 DEC221997 Carp.&Trusses AUG21 MAY11998 Millwork JUL111 JUN2 1997 Damp.&Waterproof JUL111 JUN2 1997 Insu SEP121 AUG41997 ExteriorFiish System 3 Rooting &SheetMetal 5 S 3 S 2 3 I 5 3 7 I U June July August September October Nt 03 )14 skewek f Landscaping Fence&uardrais Concrete&Ret. 1108 )15 )16 )17 )17 )19 119 )119 IJUL11 JJUN 21997 Change the durations of selected activities Get Activity Details Analyzer in the table (hit returnkey after each entry). Next 18 Activities Click Here To recalculate the schedule, click Previous 18 Activities uil IUpdate to Launch Analyzer DDF for this Project Figure 37: Displaying a Schedule in Interface Component When the user selects the second option the filters defined for the project are shown in the form of a drop down menu. The user can select any of the filters for the project and view the activities in that filter category by clicking on the "Display Schedule" button. 63 Please Select a Filter Filter by Building E [interim Milestone OipeSubmittals Site Work Building B/E / Building C Building A Building D Envelope Rouqh-In ±1 Figure 38: Displaying Filters for a Project Figure 38 shows the different filters defined for project AG21. The user can select any of the filters and click on the "Display Schedule" button to view the activities that belong to this category. Figure 39 shows that "Building E" is selected from the drop down menu for the project "AG21". 64 ~oiut 1 -3Glo~al Intrne Exlore dnagmen Sytem icrsof Ceramictile Woodtrim E E E E E E E E SEP221998 Doors&hardwate OCT161998 Miok OCT161998 Specialties NOV201998 MEP tw es&tNm MEPinspections DEC211998 OCT231998 Virylfloor 1998 Carpet Shafts SIAUG241998 'LobbyAreaElevator PrimeandTouchup Paint Finish Kitchen cabinets Kitchen equipment JUL271998 AUG171998 SEP151998 OCT2 1998 OCT161998 NOV6 1998 October September August E E 'AE E IE E F SEP14 SEP911 SEP21 OCT15 November IP, December a ssamelarillma OCT 22 miniI NOV19 1OCT11 NOV51 OCT29 DEC18 1DEC18 NOV51 NOV27 AUG28 Change the durations of selected activities Get Activity Details Analyzer in the table (hit return key after each entry). Next 18 Activities Click Here to Launch Analyzer ro recalculate the schedule, click: Previous 18 Activities jUpdate DDF for this Project Figure 39: Interface Component Displaying Project Information Figure 39 shows the activities for the selected filter "Building E". The user can browse the next 18 or the previous 18 activities in this category ("Building E") by clicking on the appropriate buttons. 7.2.2 UPDATE ORIGINAL DURATION The duration of each activity can be changed by typing directly into the Original Duration column in the schedule table shown on the web page, followed by hitting the return key on the keyboard after each entry. Users can make multiple changes. Every time when return key is hit, Java applet Schedule.java catches the Activity ID and the new Original Duration on the row where return key has been hit, passes the information to the system for updating. Figure 40 displays the first 18 activities for the project "APEX". The duration for the activity 65 before update was 30 days. The user can changes the duration to a new value (e.g. 10 days) and can view the updated schedule by clicking on the "Submit" button at the bottom of the page. Change the durations of selected activities Get Activity Details A1nalyzer n the table (hit return key after each Next 18 Activities Click Here to Launch Analyzer Previous 18 Activities Update DDF for this Project lo recalculate the schedule, click: entry). Figure 40: Updating a Project Schedule with Interface Component Figure 41 shows the updated schedule after the schedule is recalculated according to the changed duration(s). The Interface component does not allow the duration of completed activities and activities with constraints to be changed arbitrarily by the update option. Also, the Interface component does not allow the modification of the original duration of the activities, which have already started. 66 q,Global Project Management escription 00 Systemn MICrooI EarlyStart UL21 1993 DefineSystem Requirements EarlyFinish Dutatior AUG6 1993 AUG311993 SEP131993 OCT121993 10 20 15 UG41993 ystemDesign Design SEP11993 A prove System SEP291993 stalRobotBase A, andWaterFSEP291993 OCT 151993 04 RunSealant, DEC 11993 05 InstallTemperature ControlE4tNOV21993 DEC281993 DEC21993 06 S et &ConnectRobots FEB 9 1994 07 I stal System Misc. Compo DEC 29 1993 MAR41994 Controler FEB101994 stalSystem MARt161994 FEB101994 09 Test&DebugLineA FEB101994 MAR161994 10 Test &DebugLne B MAR171994 MAR171994 lotStartLineA MAR171994 MAR171994 12 Start-UpLine B APR41994 13 In stal Processo /Software/DAPR11994 APR 51994 51994 5P 14 CalibrateRobot Controler &P :1MAY 31994 4APR 61994 15 Load System Software MAY24 1994 MAY 4 1994 16 Progar 01S 02 mr3 Internet LI0e August S100 September rNovember m - S101 S102 kS103 13 20 m 5104 F 30 S109 24 24 1 kSi11 J1 2 kS112 1 kS114 5113 20 115 Change the durations of selected activities Get Activity Details Analyzer in the table (hit return key after each entry). Next 18 Activities Chck Here to Launch Analyzer To recalculate the schedule, click: Previous 18 Activities it1YE 11.1 1 11 t Update DDF for this Project iiT Figure 41: Interface Component Showirg teUpdate&Schtedle 7.3 ANALYZER COMPONENT The analyzer component resides at the "gpms.mit.edu" web server. A user can go to the GPMS web site by either typing the URL http://gpms.mit.edu/analyzer.html in his web browser or clicking on the link "Click Here to Launch Analyzer" from the Interface Component. The Analyzer component loads in the same window as the Interface component. Figure 42 shows the Analyzer component home page. 67 Please Select a Project Group Project Group Ver-12345678 -D - 8/22/1998- DESC-Edgehill August 21. 1998Status Please Select a Report Actites Finished Since Last Report Please Select a Project Group Project Group [yer- - DESC-Edgehill August 21 1998Status 12345678-DD 8/22/1998 Figure 42: Analyzer Home Page Figure 42 shows the main menu of the Analyzer Component. The user has two options to choose from. The first option enables the user to view the evolution of a project and the second option allows the user to analyze two different versions of the same project. 7.3.1 VIEW THE EVOLUTION OF A PROJECT The user can select any of the project group listed in the drop down menu and any type of report category and view the evolution of the project in that category. For example when you select the Project Group "Edgehill Continuing Care Community", a report category "Activity Finished Since Last Report" and click on the "Submit" button, an project evolution report page loads. 68 Schedule From: ASPN .. To:CONT From: CONT 6/1/1997 .................... .............. .. -... .. 6/1/1997 6/1/1997 ........... Edgehil August 21, 1998 Status 1.1-. 1 .1 .. ,Edgehdl August 4, 1998 Status IEdgehil August 4, 1998 Status 4/23/1998 4/23/1998 5/18/1998 From: MY18 To:JN15 6/15/1998 From: JN15 To:JL1 1 From: JL11 6/15/1998 7/10/1998Edgehil 7/10/1998 To:JL24 7/24/1998 From: JL24 7/24/1998 8/4/1998 8/4/1998 T...... .. :AG21 8/2/99 8/22/1998 Edgehil December 4, 1998 Status Edgehil December 4, 1998 Status December 11, 1998 Status Edgehdl December 11, 1998 Status Edgehlt December 18, 1998 Status Edgehdl December 18, 1998 Status Edgehl February 5, 1999 Status Edgehil February 5, 1999 Status Edgh. Feb 12, 1999 Status Edgehil February 12, 1999 Status 8/22/1998 822/1998 EdgehUl February 12, 1999 Status 'Edgehili February 19, 1999 Status 8/22/1998 9/18/1998 9/18/1998 Edgehl February 19, 1999 Status Edgehi February 26, 1999 Status Edgehil February 26, 1999 Status From: SE10 To:SE18 From: SE18 -. 5/18/1998 .01 IEdgehil Continuing Care Retirement Edgehl Continuing Care Retirement Edgehil Continuing Care Retirement Edgehtl Continuing Care Retirement To:MARG From: MARG To:MY18 To:A004 From: A004 rTo:AG21 Trom: A 21 To:5E10 ViewPeriod Description Data Date i 6-7 --8 Figse43:, EvoLatin Report of a Project, Figure 43 shows the project evolution report. The report is in HTML format and can be printed or saved for future reference. The user can view the different data dates, descriptions for the various versions of the project. By clicking on the appropriate link the user can also view the report that shows the analysis of the two time periods chosen by the user. 69 Activities finished since last report ACTIVITY TITLE ASSTARTED ASFINISIED PT RD) 0001 Letter Of Authonzation .6/1/97 6/1/97 100 0 0004 General Requirements 7/22/97 9/1/97 '100 0 0005 0008 Sitework Concrete &Remnf 6/2/97 6/2/97 7/11/97 7/25/97 100 0 100 0 0009 Masonry Stone/1/97 8/1/97 9/11/97 8/11/97 100 100 0 0 0012 IStruct. Sel, Joists, & Deck 6/2/97 10/17/97 0016 0017 :0018 Darnp &Waterproof Insul. Exterior Finish System 6/2/97 6/2/97 8/4/97 7/111/97 7/11/97 /1^2/97 100 100 0 0 100 0 100 0 0019 0020 0021 Roofing & Sheet Metal 6/2/97 7/11/97 100 0 Fireproof Caulk &Seal 8/4/97 6/2/97 9/12/97 7/11/97 100 100 0 0 Hardware 6/2/97 6/2/97 8/4/97 7/11/97 7/11/97 9/12/97 100 100 0 9/12/97 17/11/97 7/11/97 0022 0023 0024 IHollow Mtl 0025 |Special Doors 0026 .0028 'Skylights 8/4/97 6/2/97 Chimneys 6/2/97 Wood Doors &Windows 100 100 100 0 0 0 - 0 0 7,11M107 Figure 44: Activities Finished since Last Report Figure 44 shows the activities that were finished between the first version (e.g. ASPN) and the second version (e.g. CONT) of the schedule for the project "Edgehill Continuing Care Community". 7.3.2 ANALYZE TWO VERSIONS OF THE SAME PROJECT The second option enables the user to select two different versions of the schedule and view reports. The following page loads when the user selects a project group and hits the "Submit" button. 70 - - -- - - -- 1,Ittk-/gin-niteu/ gi bin iunpe epdnd-plVe ion= Mlosu intelne - -- -. M- q - ;.wc. xpllel Please Select Two Different Time Frames Select the First Time Frame PN - ASPN - DD - 6/1/1997 - DESC - Edgehill Continuing Care Retirement Select the Second Time Frame PN- AG21 DD - 8/221998 -DESC- Edgehill August 21,1998 Status Please Select a Report jActivities Finished Since Last Report |Et'iirl Figwre 46 Selection of the First an4 the Semd Time FFame and a Report Figure 45 shows the drop down list boxes for First Time Frame, Second Time Frame and Report Category. The user can select the appropriate first and second time frame and a report category and hit "submit" button to view the report. Figure 46 shows the report generated by the Analyzer. The report is in HTML format and can be printed or saved for future reference. 71 9 [ 3 hitp //gpms mil edulprocess asp - Mimosolt Intemet Explovei 1-1E3 Activities finished since last report ACTIVITY 00[Ltter TITLE Of Authorization :AS STARTED AS FINISEED PCT :6/11/97 q5131197 100 D 0i 0 9/1/9710 17/22/97 'General Requirements 0004 .0 ..... ........ 7.............11/97.................... ............... 100............. 2 7 te...................................................................................6 ... .... ...... 0005......................... 00605fwrA, _____ .~tn ..... .0 [............719 0012St59S 0011~~~~... De......... G u t &...... ............... :as. 0014 -- 100 17 9 100 :100 :7/2/97 Cnr6/2/97 Cone ltert& rsion 0008 7/1/977/22/97 7~:/1/977/2910 7.1 9 ____ i n ra 006 00254lio./2/7728910 ./. 1/9 07//97 .... 6:/2197 10 ....... 100 8/722/97 0 10 5/1/9318/1/97 0016ocrt [bm :6/2/97 :7/11/97 :100 .7/111/97 19/12/97 100 :8/4/97 Ikiu:6/2/97 ilr Finshl System 10018 0019 .. .. ... ...... . -looin & he Metal 0..... 0 :100 1/2297 [D___ tlok 0017 0 0 :100 fap tr -f Trsseo 001 &atRpf. 0 0 0 100 0* !0 :0 :100 :7/11/97 .6/2/97 .... ... . . .. ............................... -.......... ....... . ....... ..... Figure 46: Analyze Two Different Time Frames of a Project 7.3.3 SUBMIT PROJECTS ONLINE The user can submit zipped P3 Projects to the server using the Project Submission Page (http://gpms.mit.edu/upload.asp). Figure 47 shows the login and password window that opens up when a user sends a request for the project submission page. The login and password are verified by the Windows NT authentication program. Figure 48 shows the Project Submission Home Page after the login and password entered by the user are verified. After the user uploads the zipped projects to the server, he/she can unzip the projects by clicking on the appropriate link (http://gpms.mit.edu/cgi-bin/runperl.exe/unzip.pl) on the Project Submission Page. The user can also view the existing projects listing by clicking on the appropriate link (http://gpms.mit.edu/p3win/) on the Project Submission Page. Figure 49 shows the P3WIN directory content before project submission. 72 campus life -acvties, personal home pages map - how to get around MIT.virtual tour search -I .MIT C Duttr 1 C M ers: Pgo 77 Massachusetts Avenue -Cambodge. MAC2139437 USA - 672 100 . Figure 47: Security Feature of Project Submission oad.F.m.crosIo...nteme..Ex.lore RFC.1..7.U.. ... Upload your project (zipped) here. File to process: Fie to process 7 eP Fie to process: Destnation URL: httpj/gpms mitedup3wir Browse Pewm before uploadmg Uneo Pro jects after uploadsg Figure 48: Project Submission Home Page 73 J3gp-m -/p3-m/ Itedu tIntemet Miceosot Exploret gpms.mit.edu - /p3win/ [ToParent Dirctor 12/23/99 11:32 AN 8/24/98 7:55 AN 12/23/99 12:38 AN 12/21/99 4:52 PH 11/18/99 2:34 PH 8/24/98 7:55 AN 12/23/99 12:38 AN 8/24/98 7:55 AN 12/21/99 4:52 PH 8/24/98 7:55 AN 7:55 AN 12/15/99 3:34 PH 8/24/98 7:55 AN 11/12/96 12:14 AN 11/12/98 12:13 AN 11/12/98 12:13 AN 11/12/98 12:13 AN 11/12/98 12:13 AN 11/12/98 12:14 AN 11/12/98 12:13 AN 7:55 AN 11/18/99 2:34 PH 8/24/98 12:24 PH 12/8/99 11:33 AN 12/23/99 12:38 AN 12/21/99 4:52 PH 8/24/98 7:55 AN 12/23/99 12:38 AN 5120 AG21AC2.P3 3072 AG21ACC.P3 405504 AG21ACT.P3 6144 AG21AIT.P3 12268 AG21AUD.P3 12274 AG21CAL.P3 7680 AG21DIR.P3 688 AG21DST.P3 12288 AG21DTL.P3 5120 AG21HOL.P3 10240 AG21ITN.P3 40960 AG21LAY.P3 6144 AG21LOG.P3 132096AG21ACY.NC 12274 AG2ICAL.NC 6144 AG21NDIR.NC 427 AG21MGPH.MC 5120 AG21HOL.IIC 13312 AG21HLS3T.HC 331972 AG213PRJ.NC 81920 AG21PLT.P3 6144 AG21PPA.P3 305152 AG21REL.P3 168960AG21REP.P3 284672 AG21RE5.P3 6144 AG21RIT.P3 20480 AG21RLB.P3 6144 AG21SPR.P3 8/24/98 8/24/98 IftftIff-m I -i& -* --- - - MOM.-W. Figure 49: Browse Project Repository before Submitting a Project Upload your project (zipped) here. File to process 432TA\al 1989 |DopP\1 File to process ... File to process | ls .. .. A -- DestuationURL. htp/gpms.mt .edu/p3wr Browse P3wm before uploac. Uinnp Proiects after uploa3 C? t1~2 <Vt) Vt%> Figure 50: Submit a Zipped Project (e.g. FPS1) 74 Figure 50 shows a zipped Primavera project (e.g. FPS1.ZIP) being submitted to the Project Repository through a web browser. Figure 51 shows the upload status of the project. Figure 52 shows the recently uploaded project FPS 1 in the Interface component's "Display Schedule" option list box. Interface component dynamically loads the projects from the P3WIN directory. Welcome Here is your upload status: Destmatiohttp://gpmsmit.edu/p3ir / Uploaded File FPS1.zip PhysicalPath F:\P3WIN\PROJECTS\ Size 100228 Figure 51: FPSI.zip tTploaded to the Project Repository SelectProject Name from al the AvailableProjects Select Project Name from all theAvaiable Projectsto Filer- AG21 There is a big scheduling engine runnng in the server,pleasebe patient Figure 52: Uploaded Project FPS1 75 CHAPTER 8 CONCLUSIONS The Integrated Global Project Management System described in this thesis has demonstrated that Project Management is poised to take a leap in the Internet Age. Robust Project Planning can be achieved through a medium such as the Internet and an interface such as the web browser. IGPMS achieves the goal of planning projects through the web. IGPMS achieves software interoperability through its object-oriented approach. IGPMS provides users with a powerful web based project analyzer and reporting tool. IGPMS also achieves online viewing and updating projects thus facilitating Robust Project Planning. 8.1 FUTURE RESEARCH There is a plenty of scope for further research as the technology in web based project management is evolving at a faster rate. Software vendors are announcing new web based project management tools and with Microsoft launching its Project 2000 [30] and Project Central software [9] with the new Windows 2000 Operating System [31], we will see a revolution in the area of web based project management. 8.1.1 WEB BASED ENGINE COMPONENT TM Engine component can be made web based through ActiveXTM [32] technology. AutoCAD , AccessTM and MS ExcelTM can be integrated to the web through ActiveXTM. 76 MS 8.1.2 INTEGRATION OF IGPMS WITH MS PROJECT 2000 AND MS PROJECT CENTRAL and Project Recently Microsoft announced its web based project planning tools Project 2 0 00 CentralTM [9] with the release of its new operating system Windows Since Project 2000 2 0 00 TM. TM and Project Central are Windows based and use Internet Information Server as the prime web server, it will be possible to integrate Project 2000 with IGPMS. Figure 53: Personal Gantt view in Microsoft Project Central [33] Figure 53 shows a personal Gantt chart in a web browser through Microsoft Project Central. 8.1.3 INTEGRATION OF IGPMS WITH WEBSTER FOR PRIMAVERA Primavera Inc. has launched a new web based project management tool Webster for PrimaveraTM [34] designed specifically for team members and resources to see their assignments across multiple projects using only a Web browser. Figure 54 shows the GUI of Webster for 77 PrimaveraTM 2.5. Webster is the web-based interface to Primavera Project Planner. Individuals without formal project management training working on projects can report their work hours and progress on assignments directly to the project through Webster. 3 Webster for Primavera v2. 5 - Microsoft Internet Explore .. .... ig1 Figure 54: Webster for Primavera [34] Webster and IGPMS both use Primavera Project Planner and so it would be possible to integrate Webster to IGPMS. Webster does not support online submission of projects and online analysis of project schedules. Webster integrated with IGMPS will have a robust interface to Primavera Project Planner and also tools like Engine, Analyzer and Online Project Submission. Webster will replace the Interface component of IGPMS in this new scheme of integration. 78 REFERENCES 1. Moder, Joseph J., Phillips, Cecil R., Davis, Edward W. (1995), "Project management with CPM, PERT, and Precedence Diagramming", Blitz Pub. Co., 1995. 2. Chen, H. (1996), "Web Based Project Management System," Master Thesis, MIT, Cambridge, MA. 3. Chiou, Y. (1998), "An Interoperable Integrated Project management System for Architecture, Engineering and Construction Product and Process Information," Master Thesis, MIT, Cambridge, MA. 14", Release "AutoCAD 1999), (December, Inc. 4. Autodesk, http://www.autodesk.com/products/acadr14/ 5. Primavera, Inc. (1999), "Primavera Project Planner", http://www.primavera.com 6. Seagate Software Crystal "Seagate 1999), (December, Inc. Reports", http://www.seagatesoftware.com/products/crystalreports/ 7. Microsoft 1999), (December, Corporation Access "Microsoft 97", http://www.microsoft.com/office/access/default.htm 8. Microsoft Corporation (December, 1999), "Microsoft SQL Server 6.5", http://www.microsoft.com/sql/ 9. King, N. (2000), "Projects Your Plans Online", PC Magazine, January 4, 2000. 10. Pefia-Mora, F., Sriram, D. and Logcher, R. (1995), "Design Rationale for Computer- Supported Conflict Mitigation," Journal of Computing in Civil Engineering, American Society of Civil Engineers, Vol. 9, No. 1, pp. 57 - 72. 11. International Alliance for Interoperability (1997), "IFC Object Model For AEC Projects," Industry Foundation Classes Release 2.0, International Alliance for Interoperability, Washington D.C. 12. International Organization for Standardization 79 (1997), "Introduction to ISO," http://www.iso.ch 13. Shtub, Avraham, Jonathon Bard, and Shlomo Globerson (1994), "Project Management: Engineering, Technology, and Implementation," Prentice Hall, Englewoods Cliff, NJ, 1994. 14. Li Michael (1999), "A Robust Planning and Control Methodology for Design-Build FastTrack Civil Engineering and Architectural Projects", Master Thesis, MIT, Cambridge, MA. Product 15. P3eTM Page http://www.primavera.com/news/press/p3e 16. RA Overview P3eTM", Automation Engine", "ASP Overview", 0629.html "RA 1999), (December, Delivers "Primavera 1999), (December, Primavera http://www.primavera.com/products/ra.html 17. Microsoft Developer's Network Web Workshop Online (1999), http://msdn.microsoft.com/workshop/server/asp/ASPover.asp 18. Timberline Inc. (December, 1999), "Timberline Software", http://www.timberline.com/ 19. JD Edward's Enterprise Software Inc. (December, 1999), http://www.jdedwards.com/ 20. Wix, Jeffrey (1997) "Purpose of a Core Model", Computerised Exchange of Information in Construction Project, UK Department of the Environment, London, UK. 21. Till, D. (1995), "Teach Yourself Perl in 21 Days", Sams Publishing, 201 West 103rd Street, IN, 1995. 22. Wix, Jeffrey (r996) "The EXP1MSS*Data Definition Language introduction"; CEC=/I, International Alliance for Interoperability, Washington D.C. 23. Microsoft Corporation 2000), (January, "Microsoft Excel 97", http://www.microsoft.com/office/excel/default.htm 24. Bjork, B. C. (1992) "The Topology of Spaces, Space Boundaries and Enclosing Structures In Building Product Data Models." CIB W78 workshop on Computer-Integrated Construction, Montreal, Canada. 25. Object Management Group (December, 1999), "CORBA: Non-Standardized ApplicationSpecific Interfaces", http://www.omg.org 26. IONA (December 1999), "IONA Orbix", http://www.iona.com 27. IBM (December, 1999), "IBM DSOM", http://www.ibm.com 28. Microsoft Corporation (December, 1999), "COM Home Page", http://www.microsoft.com/com/default.asp 29. Meredith, J. R., and Mantel S. J. (1995), "Project Management: A Managerial Approach," John Wiley and Sons, New York, 1995. 80 30. Microsoft Corporation (January, 2000), Project 2000 Home Page", Windows 2000 Home Page", "Microsoft http://www.microsoft.com/office/project/default.htm 31. Microsoft Corporation 2000), (January, "Microsoft http://www.microsoft.com/windows2000/default.asp 32. Microsoft Controls", "ActiveX 1999), (December, Corporation http://www.microsoft.com/com/tech/activex.asp 33. Microsoft Corporation (January, "Microsoft 2000), Project White Paper", PrimaveraTM 2.5", SureTrakTM 3.0", Expedition TM 6.4", Central http://www.microsoft.com/office/project/MicrosoftProjectCentral.doc 34. Primavera Inc. (December, for "Webster 1999), http://www.primavera.com/products/webster.html 35. Primavera Inc. 1999), (December, "Primavera http://www.primavera.com/products/st.html 36. Primavera Inc. 1999), (December, "Primavera http://www.primavera.com/products/exp.html 37. Microsoft Corporation 2000), (January, "Microsoft Visual C++", Console (MMC)", http://msdn.microsoft.com/visualc/ 38. Microsoft Corporation (January, "Microsoft Management 2000), http://www.microsoft.conm/MANAGEMENT/MMCdefautt.htm 81 APPENDIX SOURCE CODES OF IGPMS For all the code used in this thesis please contact Prof. Feniosky Peha-Mora for further information. You can also download a zipped file containing all the source codes from the following URL. http://gpms.mit.edu/igpms.zip Visual C++ Projects analyzer compare evofproc evolution expand extract filter filterragetfirst filterragetnext filterragetprev filterraup raup unzip updateddf CGI/Perl scripts login.pl updateddf.pl unzip.pl ragetfilter.pl filter.pl expand.pl analyzer.pl evolproc.pl 82 evolution.pl compare.pl extract.pl prev.pl next.pl raget.pl raup.pl raupdateall.pl table.pl chart.pl but.pl butl.pl but2.pl but3.pl Java Applets Schedule.java Schedule2.java HTML files index.html raout unzip anaylze.html analyzer.html table.html chart.html but.html butl.html but2.html but3.html ASP Scripts login.asp process.asp upload.asp 1.asp 2.asp 3.asp 4.asp 5.asp 6.asp 7.asp 8.asp 9.asp 83 10.asp 11.asp 12.asp 13.asp 14.asp 15.asp 16.asp Visual Basic codes BcActivity.cls BcEntity.cls frmActvityEditor.frm frmCashFlow.frm frmConstructionSequenceSimulator.frm frmCumulativeCashFlow.frm frmDailyCashFlow.frm frmDataLoader.frm frmLoad.frm frmObjectEditor.frm frmObjectLoad.frm frmSchedule.frm frmShowSchedule.frm frmSplash.frm Main.frm UserForml-frm HierarchyOperation.bas Frm4Dmain.dsr AutoCAD Drawings 1F.dwg ansi.dwg bea.dwg col.dwg elev.dwg flo.dwg ObjectBuilding.dwg ObjectBuilding2.dwg ObjectBuilding3.dwg ObjectBuilding4.dwg Site.dwg STEELFRAME.dwg StructureFrame.dwg Microsoft Office Files Resource.mdb 84 CashFlow.xls CumulativeCashFlow.xls DailyCashFlow.xls Schedule.xls 85