| Thomas Froese, Associate Professor
University of British Columbia, Canada email: tfroese@civil.ubc.ca, http://www.civil.ubc.ca/~tfroese/ Martin Fischer, Associate Professor
Francois Grobler, Civil Engineer/Principal Investigator
John Ritzenthaler
Kevin Yu, Software Developer R&D,
|
Stuart Sutherland
Bovis Construction Corporation, USA email: stuart.sutherland@bovis.com Sheryl Staub, Graduate Research Assistant
Burcu Akinci, Ph.D. Candidate
Ragip Akbas, Graduate Research Assistant
Bonsang Koo, Graduate Research Assistant
Alex Barron, Graduate Research Assistant
John Kunz, Senior Research Scientist
|
SUMMARY: An effort is underway to develop Industry Foundation Classes--industry-standard data structures for exchanging information about construction projects. In addition to physical information about buildings, these classes represent project management information such as estimating and scheduling data. Many core concepts relating to the project management portions of the Industry Foundation Classes have recently been added to these models, but these have received virtually no testing and implementation to date. A workshop was held to work through an implementation and evaluation exercise for these models. The results identified many areas for potential improvement, but also confirmed that the overall approach taken by the models worked well for representing and integrating product, work process, estimating, and scheduling information.
KEYWORDS: International Alliance for Interoperability, IAI, Industry Foundation Classes, IFC, Project Management, Estimating, Scheduling, Project Modelling, Data Standards, Integration.
The Industry Alliance for Interoperability (IAI) is a global, industry-based consortium for the AEC/FM industry (IAI 1996, IAI 1998). Their mission is to enable interoperability among industry processes of all different professional domains in AEC/FM projects by allowing the computer applications used by all project participants to share and exchange project information. The IAI's scope is the entire lifecycle of building projects including strategic planning, design and engineering, construction, and building operation. The IAI's goals are to define, publish and promote a specification--called the Industry Foundation Classes (IFCs)--for sharing data throughout the project lifecycle, globally, across disciplines and technical applications (IAI 1998). The IFCs are used to assemble a project model in a neutral computer language that describes building project objects and represents information requirements common throughout all industry processes.
Much of the IFCs' focus has been on representing the facilities that are being designed and constructed, but the IFCs' scope also includes project management information such as costs, schedules, work tasks, resources, etc. The Project Management (PM) Domain Group of the IAI North American Chapter (IAI NA PM) has been developing portions of the IFCs to support estimating and scheduling processes. Much of these processes have now been incorporated into the IFCs. To date, however, there has been virtually no attempt to implement and test these portions of the IFCs. In February 1999, the IAI NA PM group held a charrette-style workshop to conduct trials of the project management portions of the IFCs. During the workshop, participants developed usage scenarios, drafted "paper models" of the scenario data based on the IFCs' data structures, and then implemented the scenarios in a computer system to exhibit some basic data sharing functionality. We wanted to test how well the IFCs represent the cost estimating and scheduling information necessary for everyday project management tasks. This paper describes this exercise, presents the scope of the IFCs related to PM and discusses the lessons learned from exposing these IFCs to an initial trial application--"first light" for the project management IFCs. It should be of interest to researchers and practitioners modelling construction process information.
Although the IFCs have included some project management-related objects since their initial Release, a significant number of new and revised objects have been included in the IFC Release 2.0 as a result of the IAI NA PM group's and others' activities. To date, there has been very little testing and validation of the PM-related portions of the IFCs. A similar charrette workshop held in February 1999 focused on facilities management support within the IFCs (CIFE, 1999). A very few systems have been implemented with some application of IFC PM objects (Laitinen, 1999), but these were based on Releases 1.0 or 1.5, which were substantially different from the Release 2.0 PM models. Although many systems have been developed using IAI or ISO STEP models, these deal mainly with product model information rather than PM information, or they have used custom rather than standard models for PM data, since previously there has been only nominal support for project management information in IAI or STEP Building Construction.
The workshop was held at the Center for Integrated Facility Engineering (CIFE) at Stanford University and was attended by six committee members and a number of graduate research assistants from the Stanford Construction Engineering and Management Program. This group represented university and government researchers, industry practitioners, and software vendors, and most of the participants had expertise in at least two of the following disciplines: construction, data modelling, and commercial software development. The workshop began with a review of the current status and content of the IFC models. An overview of these models is provided in Section 4. Next, the CIFE group presented several project scenarios that they had developed in advance of the workshop. These scenarios identify typical project management tasks and provide actual project data with which to work. We then split into two groups corresponding to two of the basic scenarios, one focusing on estimating and the other on scheduling.
The first step in our attempt to apply the IFCs was for each group to prepare "paper models" of their scenario. That is, to try to structure the data from the scenario according to the IFC classes and to write these out on a whiteboard (the estimating group first entered the data into the commercial estimating application as an intermediate step in formalising the scenario information). After this task was completed, the resulting object diagrams were recorded in computers using UML notation. UML was selected since EXPRESS-G, the notation used for class diagrams within the IAI, contains no notation for representing object (i.e., instance) diagrams. Each group presented the results to the other and discussed issues such as the degree of support that the IFCs offered for representing the information, specific problems that could be identified, etc.
The next step was to implement the scenarios in a computer system using the IFCs. We did this by entering the IFC classes into PowerModel, an object-oriented modelling tool (Intellicorp 1999). We then defined instances of these classes to represent the data used for the scenarios. The result was that all of the data required for the scenarios were implemented in a computer system. This shows that the IFCs enable the data to be represented in a computer-interpretable form (although it does not yet provide any functionality). Next, the scheduling group went on to implement some rudimentary planning functionality in the PowerModel system. Again, the groups met to discuss the results, analyse the lessons learned, and record the outcome in this paper.
To demonstrate the IFC models, we used a simple test case scenario drawn from actual data for a recent bio-technology facility project in California called Sequus Pharmaceuticals (Staub et al. 1998). The test case describes two walls, each one decomposed into three types of components: metal studs, drywall, and taping. The dimensions of these components are listed in Table 1.
TABLE 1: Dimensions of Components in the Sample Project
| Object | Length | Height | Area |
| Wall 1 | 100 ft | 10.5 ft | 1050 Sq.Ft. |
| Wall 2 | 60 ft | 24 ft | 1440 Sq.Ft. |
Fig. 1 describes this test case in a format based roughly on the IDEF0 process model notation. The objectives of the test case were to create a schedule and a cost estimate for the walls at two levels of detail. On the left of the diagram are inputs to the process--in this case, the geometric description of the product model from CAD. On top are constraints on the process--shown here as three databases with typical values used to create the estimate and schedule. On the bottom are the methods or reasoning processes that applications use to transform the data provided by the inputs and databases to create the outputs, which are shown on the right. One output is the schedule, shown here as a set of three activities for each wall: Install Metal Studs, Hang Drywall, and Apply Taping. The other output is the cost estimate consisting of material and labour breakdowns.
The creation of the sample implementations using specific values was a useful way of bringing out the strengths and weaknesses of the current version of the IFC models. In the process of specifying the attributes necessary for each object and the relationships that enabled integration of these data between objects, we were able to determine many of the modelling requirements for proper representation of the data needed to support the stated objectives for information sharing (as discussed in Section 6).
Standards tend to be of two types: interface standards and content standards. An example of the former is a computer device connection standard such as RS232 or the TCP/IP protocol. Interface protocols are common for physical devices (e.g., train track width), electrical systems (e.g., RS232) and software (e.g., TCP/IP). Some interface standards emerge from market dominance of a product company (e.g., DXF format for CAD files), and some are developed by international standards bodies such as ISO. The Uniform Building Code is a successful example of a content standard. Medical practice is moving to content standards as official bodies specify "protocols" that prescribe in great detail the procedures of how to treat different medical situations. In comparison with interface standards, content standards are much larger and more complicated. They refer explicitly to a standard vocabulary of conceptual entities and defined processes. Governments often prescribe them (e.g., building codes, medical treatment protocols for cost reimbursement).
While an interface standard would be much easier to create and manage, the IFCs necessarily have the flavour of a content standard. Design models often get created initially in CAD software as graphic models of either a schematic or physical design. Designers add semantic attachments to describe, relate and elaborate initial graphics entities. AEC software applications generally do not now interoperate. An engineer manually reviews output from one application and formulates input to a related one. That manual translation is an engineering problem--and the motivation behind the IFCs and STEP (ISO Standard 10303, see ISO 1994). The complication for the IAI members is that the semantic description of design entities is enormously complicated, and there is generally no recognized explicit and formal representation of either the semantics of design models or of engineering analysis procedures. STEP and IFC are ongoing and dauntingly difficult efforts to represent some of the design and process model and semantics explicitly and formally in computer-interpretable form.
Costs assigned to objects can only provide meaningful information if the context of the cost values is known. For example, information about whether the unit price of a work task includes material purchases, transportation, material use wastes, equipment uses (operational or rental costs), labour costs, taxes, general contractor mark-up, etc. must be provided along with the numerical cost value. The IFC entity IfcCostElement addresses this by providing cost information, relating to the object being costed, and relating to a cost schedule document (IfcCostSchedule) that describes the context of a list of cost elements. IfcCostSchedule can be used to represent any form of cost list, such as an estimate, a budget, or a unit price table. An IfcCostElement instance can be associated with the objects being costed (e.g., a product, a resource, a process, etc.), through the objectified relationship IfcRelCostsObjects. An IfcCostElement can also be used to group related sub-costs using an IfcRelNestsCostElements relationship.
These concepts are modelled as objects where the actual documents or computer files that hold the information about the objects can be referenced. Also, since they are modelled as objects, it is possible that these concepts can be associated with other related things or concepts. For example, a change order can be associated with a cost estimate and a work plan so that an application can retrieve not only the information about the change order itself but also the estimated cost and proposed work plan for doing the change. Similarly, a work order can be associated with the building elements such as a piece of equipment that receives maintenance referred by the work order. These associations allow the integration of different applications involved in creation and utilisation of the work orders for maintenance.
Figure 2: UML Object Diagram of the Estimating Scenario
Although it is common to model things such as construction equipment, materials, and labor as resources, it is difficult to model them consistently because they play different roles on a project. Generally, things should be modeled as "what they are" rather than as "a role they play" (Sowa 1984). However, the characterization of things as resources, products, etc, can be very dependent upon the perspective of the user of the information. For example, a crane might be represented as a temporary constructed product, materials might be represented as design properties or as the basic components in a materials management application, and labor might be represented as part of the organizational information for a project. The concept of "resources" represents a role that certain things play on construction projects, and it is difficult to design representational structures that satisfy all these different perspectives. Thus, the NA PM group proposed the subtle but important change for the IFC Release 2.0 that IfcResource be interpreted as representing "the use of a thing in the role of a construction resource," rather than representing the thing itself. If only basic resource information, such as the names, quantities, and prices, is of interest to users of a project model, then IfcResource objects alone are sufficient to represent the information. However, if further information is required about the things that are being used as resources, then the IfcResource instances can be associated to other instances that represent those things (i.e., IfcProductRes and IfcMaterialRes can be associated to IfcProduct objects, IfcLaborRes can be associated with IfcActor instances, etc).
TABLE 2: Estimate Items Represented in the Estimating Software
| Precision Estimate Items | |
| Item Description | Cost Category |
| Install 6" metal studs | Labour |
| Material | |
| Install Drywall | Labour |
| Material | |
| Tape Drywall | Labour |
| Material |
TABLE 3: Estimate Items Represented in the IFC Model
| IFC Model | |
| Work Task | Resource |
| Install 6" metal studs | 6" metal studs |
| Labour | |
| Install Drywall | 6" metal studs |
| Labour |
TABLE 4: Mapping of Quantities and Units of Measure between Estimating Software and IFC Objects
| Precision Field | IFC Class | IFC Attribute |
| Item Quantity | IfcProduct (IfcWall) | Quantity |
| Item Quantity | IfcWorkTask | Quantity |
| Labor Productivity Rate | IfcRelUsesResource | ProductivityConversionRate |
| Labor Productivity Multiply/Divide | IfcRelUsesResource | ConverterMultiplierNotDivider |
| Labor Hours | IfcCostElement | Quantity |
| Material Conversion Factor | IfcRelUsesResource | ProductivityConversionRate |
| Material Conversion Multiply/Divide | IfcRelUsesResource | ConverterMultiplierNotDivider |
| Material Quantity | IfcCostElement | Quantity |
Figure 3: UML Object Diagram of Scheduling Scenario, Work Plan Objects
When using conversion factors, Precision allows the factor to be used as either a multiplier or a divisor (e.g., you may specify units per hour or hours per unit). We added the attribute "ConverterMultiplierNotDivider" to IfcRelUsesResource to provide equivalent functionality. Initially, we were tempted to use the IfcRelUsesResources' Duration attribute to specify labour hours, but we later decided that this attribute was for scheduling purposes.
We planned and scheduled the object IfcWall:SequusWall (i.e., an object called SequusWall that is an instance of the class IfcWall) by first defining an ifcWorkplan and then creating an ifcWorkSchedule. IfcWorkPlan can point to multiple IfcWorkSchedules to allow alternative schedules or different types of schedules, i.e., a schedule for the owners' use, another for the sub-contractors, etc. We used the IFCs to represent the project information within the scheduling application because we did not use an existing scheduling software for the charrette.
The ifcWorkPlan features three instances of IfcWorkTask as defined in the test scenario for each of the two wall segments: Install Metal Studs, Hang Drywall and Apply Taping. The IfcWorkTasks are contained directly in the IfcWorkPlan as values of the Tasks attribute. A more flexible, objectified relationship was created between the IfcWall:SequusWall object and the IfcWorkTask objects using instances of the objectified relationship class IfcRelProcessOperatesOnObject. Sequence relationships between the IfcWorkTasks are represented by IfcRelSequence objects, which have attributes for time lag, sequence type, etc.
Figure 4: UML Object Diagram of Scheduling Scenario, Sample Work
Schedule and Resource Objects
We represented resource assignments using IfcRelUsesResource objects, which link one or more IfcCrews to an IfcWorkTask. Crew composition is defined by IfcRelCrewContainsResource objects, which specify the number and type of resources that make up a crew. A crew can also contain another crew, or resource, to allow nested resources.
IfcWorkSchedule acts as the entry point for defining and accessing scheduling information and it has attributes to describe the purpose, creator, creation date and other administrative schedule elements. Traditional schedule activity information is distributed between related IfcWorkTask, IfcScheduleElement, and IfcScheduleTimeControl objects. IfcWorkTask contains task information such a description and codes to represent a predefined work breakdown structure element; IfcScheduleElement acts as an objectified relationship between IfcWorkTask and IfcScheduleTimeControl; and IfcScheduleTimeControl has attributes to define various start and finish dates and float, both actual and scheduled, etc.
Figure 5: Implementation Interface
After working through the basic scheduling process, we considered the process of computer-assisted creation of a cost estimate and a schedule related to the Sequus wall test case. Automatic generation of cost estimates and construction schedules of extracted building components requires the representation of building elements' product types, their related processes, and unit costs. Since the IFCs currently do not support product and process types, we created two additional objects to represent product types (CifeProductType) and their related process types (CifeProcessType) and defined a new relationship attribute (of_product_type) to relate instances of IfcProduct to instances of CifeProductType. We implemented the objects used for the scheduling process along with these additional objects and relationship attributes in the PowerModel system and added some simple planning reasoning (the reasoning algorithm is illustrated in Fig. 6). We were then able to automatically generate a construction schedule and a conceptual cost estimate for the Sequus Wall test case from the list of building elements.
Figure 7: Annotated User Interface
Fig. 7 shows the initial user interface. We annotated (in blue and red) the actual user interface to show the underlying relationship attributes between the imported building elements (imported products) and their product and process types. When the application is first loaded, only the imported building elements are displayed. When the user selects an imported product instances the system lists defined product types. The user then chooses the appropriate product type and is shown a list of defined process types for the selected product type instance. Our small prototype system uses these relations to automatically generate construction activities and conceptual cost estimates for the imported building elements.
TABLE 5: Name Changes in IFC Project Management Classes
| IFC R1.5.1 | IFC R2.0 |
| IfcScheduleData | IfcScheduleTimeControl |
| IfcRelProcessesProducts | IfcRelProcessOperatesOn |
| IfcCalendarDate | IfcDateTimeSelect |
We initially started our implementation referring to IFC Release 1.5.1 manuals for class definitions and relationships. Due to the changes in IFC Release 2.0, we had to refer once again to the updated manuals to verify whether the definitions and relationships of these classes had been modified. We also had to change the names of classes that we had previously created in the PowerModel system.
We used IFC Release 2.0 documents that described newly defined classes and name changes of classes and relationships. To describe more types of objects in greater and more realistic detail, new class objects will need to be created as the IFCs develop. For example, the IFC Release 2.0 has defined objects such as IfcDoorPanel and IfcDoorLining, whereas the prior version only had IfcDoor. However, changes to the names of existing classes cause confusion and additional work, and should be avoided if at all possible. If changes are inevitable, the names that changed and the reasons for the change should be documented as well.
1) IfcRelNests defines the general concept of elements being nested so that the nest is of the same type (or supertype) as the nested elements.
2) IfcRelContains defines a hierarchical containment relationship between elements, i.e., each element can only be contained by one instance of an element container (i.e. site, building, building storey or space).
3) IfcRelGroups handles the assignment of group members to group objects.
4) IfcRelAssemblesElements is an objectified relationship that assembles various Elements (or other Element Assemblies) into an Element Assembly. This relationship is defined at the IfcBuildingElement level.
Fig. 8 shows how two of these objectified decomposition relationships can be used to decompose the Sequus Wall test case.
For the process model decomposition, three relationships are inherited from the IfcObject level: 1) IfcRelNestsProcesses (a subclass of IfcRelNests), 2) IfcRelContains, and 3) IfcRelGroups. However, IFCs suggest the decomposition of processes through IfcRelNestsProcesses, which represents the relationships between a work task and its subtasks. This objectified relationship also provides information, such as nesting purpose and nesting criteria, and hence makes the nesting process flexible. Fig. 8 shows how we used the IfcRelNestsProcesses relationship to decompose the installation of Sequus walls into lower level activities. As shown in the figure, IfcRelNestsProcesses is used to decompose work tasks according to both is_a relationships (e.g., BuildWall1 is_a BuildWalls) and part_of relationship (e.g., InstallMetalStuds for Wall1 is part_of BuildWalls).
The product and process model decompositions for the Sequus Wall case (Fig. 8) demonstrate that similar types of decompositions for the product and process models are handled with two different decomposition relationships in the product model and are handled as one decomposition relationship in the process model. We wondered whether product and process model decompositions should be represented similarly by defining additional decomposition relationships for IfcProcess or whether the process model decomposition should be kept flexible by defining one decomposition relationship and representing the purpose of the decomposition within each relationship instance. Categorising different decomposition relationships (as in the product model) will explicitly state the content of the decomposition. For example, aggregating the duration for BuildWalls will have a different value and meaning if it is aggregated through is_a relationships (e.g., BuildWall1 and BuildWall2 are BuildWalls), versus if it is aggregated through part_of relationships (e.g., InstallMetalStuds, HangDryWall, ApplyTaping are part of BuildWalls). During the workshop, we were inclined towards defining one objectified relationship, IfcRelNestsProcesses, for decomposition of process models.
Figure 8: Product Model Decomposition and Process Model Decomposition
Figure 9: Assigning Quantities
1) Create a new cost object, such as IfcCostEstimate, to distinguish project specific information from unit cost information. IfcCostSchedule would then become the object for grouping unit cost information. Modelling cost information in this way would also fit more closely with the way that the industry views this information. In practice, cost estimates and cost databases are viewed as different types of cost information and are maintained separately.
2) Add an attribute, such as CostType, on IfcCostSchedule to distinguish between unit cost information and project estimate information. The attribute value could then be an enumeration of different cost types.
Figure 11: Cost Schedule Objects
We did not need to model these relationships for our test case. However, dependency relationships are essential for applications that use these relationships to infer precedence between instance objects. The IFCs reify relationships between objects by using the IfcRelationship class and its subclasses. However, there is no subclass that describes the dependency relationship. New subclasses of the IfcRelationship class should be developed that reify the dependency relationships between products.
In the Sequus wall test case, the wall is decomposed into 5/8" drywall elements. We used IFCConstructionMaterialResource objects to represent each drywall element. Drywall may be a subclass of IFCBuildingElement in future versions of IFC. However, it is not practically feasible to create an instance for each drywall element, each with its own geometrical representation. An alternative would be the specification of the decomposition criteria in a separate class, which, in this case, specifies that each wall is decomposed into sheets of 5/8" drywall. Estimating, construction planning, and 4D-simulation software can then use this information to automatically generate relevant information about the drywall.
1) The model development process could start with a charrette that brings together users and decision-makers to define test cases and use cases in parallel.
2) The model could be developed with frequent references to the use cases and test cases from the charrette.
3) The model could be tested in a second charrette that includes modellers and users.
As pointed out by the IAI facility management domain group (CIFE 1999), and by Clayton et al. (1998), a clear and appropriate scope definition for a charrette test case prior to running the charrette is essential for the charrette's success. All participants in the charrette presented here felt that the scope of the test case we used was about right. It is simple enough so that the participants could get their hands around it easily and quickly and keep track of what everyone else was doing. The number of objects--two walls that decomposed into three types of sub-components leading to a handful of estimating items and schedule activities--worked well. More objects would have required more modelling work, leading to longer test cycles and longer discussion periods without necessarily adding new evidence for the usefulness of the IFCs. For our case, it was important that the test case was developed at two levels of detail to give us some confidence that the IFCs work at more than one particular level of detail. Because the case was taken from an actual construction project, it brings out many of the aspects that are important for estimating and scheduling. It is also important that the case is worked out in complete detail, including specific and traceable values for all inputs and outputs.
In addition, the IFCs make associations between scope, estimate and schedule information explicit, enabling project participants to integrate estimating and schedule information better than is possible today. Estimates and schedules can be synchronised, and changes in the product model (design changes) or changes in resource assignments now propagate to estimates and schedules. The IFCs also document cost and schedule assumptions better, allowing several people to collaborate on estimates and schedules. This is difficult to do with today's estimating and scheduling tools. Links between information items often get lost in the estimates and schedules produced today. The IFCs allow software vendors and project participants to represent information about estimates and schedules explicitly and share it with other participants and other applications.
Clayton, M.J., Fischer, M.A., and Kunz, J.C. (1998) . CAD Prototype Testing: Worked Examples, Demonstrations, Trials, and Charrettes." Computing in Civil Engineering, Proceedings of International Computing Congress, Boston, October 18-21, Kelvin C.P. Wang (Ed.), ASCE, 106-116.
Cole, M., et al. (1998) "IFC Model Requirement Analysis, ES-1: Cost Estimating", IAI Project Document for IFC R2.0.
Froese, T.M. and Yu, K.Q. (1999) . "Industry Foundation Class Modeling For Estimating And Scheduling" Durability Of Building Materials And Components 8. National Research Council of Canada: Ottawa. Vol. 4, pp. 2825-2835.
Grobler, F., et al. (1998) . "IFC Model Requirement Analysis, PM-1: Scheduling", IAI Project Document for IFC R3.0.
IAI (1996) . "End User Guide to Industry Foundation Classes, Enabling Interoperability in the AEC/FM Industry", International Alliance for Interoperability (IAI).
IAI (1998) . "International Alliance for Interoperability (Home Page) [online]". URL: http://www.interoperability.com/. Accessed March 22, 1999.
Intellicorp (1999) . Knowledge-based Tools. [online] http://www.intellicorp.com/prod_kbt.html#PowerModel, accessed March 22, 1999.
ISO (1994) . "Industry Automation Systems-Product Information Representation and Exchange - Part 1, Overview and Fundamental Principles", ISO TC184/SC4 Project Management Advisory Group.
Laitinen, J. (1999) . "Model based construction process management," Durability Of Building Materials And Components 8. National Research Council of Canada: Ottawa. Vol. 4, pp. 2844-2863.
Sowa, J. (1984) . Conceptual Structures: Information Processing in Mind and Machine. Addison Wesley.
Staub, S., Fischer, M., and Spradlin, M. (1998)
. "Industrial Case Study of Electronic Design, Cost, and Schedule Integration."
Working Paper, Nr. 48, CIFE, Stanford.