Model View Checking: Automated Validation For IFC Building Models
Model View Checking: Automated Validation For IFC Building Models
net/publication/266326324
CITATIONS READS
22 3,293
2 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Jakob Beetz on 07 September 2016.
SUMMARY: The building industry is a collaboration environment that requires data exchanges and
communication among different domains and applications. As the information processing becomes more and
more automated, standardized and qualified data is necessary for efficient working processes. In this paper we
reporting on a prototypical implementation of a model view checker for model instance validation of Industry
Foundation Classes (IFC) models. This checker is developed based on the open standards mvdXML as the
formats for structuring validation rules and the BIM Collaboration Format (BCF) to issue reports as a result of
the checking. It is implemented on top of the open source bimserver.org framework. The research presented here
has two main aims: (1) to develop an open source IFC validation tool based on flexible and standardized method;
(2) identify issues of the current capabilities of the to develop stable and easy-to-use IFC validation methods
using open standards based on real-world requirements. In this research, use-cases from real BIM standards
(Rgd BIM Norm, Statsbygg BIM Manual) are categorized into different rule types and converted to mvdXML
templates and rules. These rules are then tested using a prototypical, open source software tool. By combining
this tool with a BCF server, how to use this tool in real working processes is also proposed. Based on these
experiences, a detailed discussion about identified issues is provided as the starting point for the future research
and a feedback to standardization organisations.
KEYWORDS: Industry Foundation Classes, Model View Definition, Constraint, Validation, Use-case, mvdXML,
BIM Collaboration Format.
1. INTRODUCTION
In a collaborative environment like the building industry, being able to obtain information with sufficient quality
is fundamental for working operations. As the design and construction processes become more and more
complex, traditional information mediums such as paper-based documents cannot provide the required integrity ,
precision and timeliness. Many researches have suggested that this objective can be approached by using
vendor-neutral and open building information models such as the Industry Foundation Classes (IFC) to capture
and exchange data (ISO 16739, 2013; Eastman et al., 2011; Berlo et al., 2012). Various systems can implement
converters between the IFC schema and their native data models to export and import IFC instances to exchange
information with each other. This approach has contributed to addressing the problem of data exchange and
integration. In this context, besides the shared IFC data model, the interoperability also depends on two other
factors: a) The quality of implementations of IFC export-import converters; b) The quality of the instance
modelling of buildings. The respective work is carried out by application implementers and domain end-users
alike. To evaluate their work in order to get reliable, high-quality and interoperable data is crucial for improving
the efficiency of working processes.
2. RELATED WORK
Both MVDs and BIM standards provide additional rules for IFC validation. MVDs focus on extracting integral
model subsets for IFC implementation purposes, whereas BIM guides are more fragmented requirements applied
to check IFC instances. In this section, we provide a brief review of model view definition methods and current
implemented methods and tools for checking IFC models.
IDM - X - -
Validation rules X O O O
Implementation of the - - - -
validation function
Open standard X - - -
3 Conclusion
Existing model view definition methods including GMSD, xPPM and SEM mainly focus on e.g. generating
MVD documentation or modularizing model views, but are not mainly used to define computer executable
business rules to check IFC instances. Some checking platforms and tools have implemented programming
methods to check models, but these “black box” methods cannot be fully accessed by domain end-users. The
schema-based methods provide an open environment for rule development. As ISO standards, however
EXPRESS and EXPRESS-X are actually not popular languages even among software engineers, and current
implementations of these methods are still limited mainly on commercial platforms. All the existing methods and
tools cannot provide an open and low-cost rule checking environments. This is particularly problematic for
SMEs that often do not have the resources to adapt these demanding technologies. MvdXML is currently the
only open standard dedicated for model view definition and IFC validation. An implementation for mvdXML
rule checking is thus highly desirable for research and develop communities as well as for end-user practitioners.
3. IMPLEMENTATION APPROACH
Generally, three steps are needed in the IFC validation process: (1) interpretation of requirements and structuring
validation rule-sets, (2) execution of the checks and (3) report generation. This implementation is based on the
open source bimserver.org framework (Beetz et al., 2010), integrating two open standards—mvdXML (Chipman
et al., 2013) and the BIM Collaboration Format (BCF) (Stangeland, 2011) respectively as the validation rule-sets
and issue reports. Basically, the IFC instances and mvdXML files are the input of the checker while sets of BCF
files are the output (Fig. 1).
Bimserver.org platform
BCF
FIG. 1: General architecture and interaction between this checker and bimserver.org
2 Check execution
In an IFC instance file, the information is provided by the attributes of all existing object instances. The
bimserver.org platform already provides a convenient API to extract attribute values. In this platform, the
EXPRESS schema of IFC has been converted to an Eclipse Modelling Framework (EMF) which is used to
generate corresponding Java classes for IFC entities and types (Beetz et al., 2010). By this mechanism, related
3 Report generation
In this implementation, we use BIM Collaboration Format (BCF) to report identified issues. BCF is an open
standard proposed by Solibri and Tekla to enable workflow communication between different applications
(Stangeland, 2011). Unlike traditional text-based reports, this method links communication to IFC building
models, and it also can be easily implemented by visualization applications. It is currently endorsed by a number
of software vendors, and is going to become an official buildingSMART specification.
After the checking, every generated issue will be captured in the form of a BCF report which mainly includes a
markup file and a viewpoint file. The generated issue comments are contained in the markup file, which also
contains the description of the “Concept” defined in the mvdXML file to make domain end-users understand the
requirement that was violated. The viewpoint file defines view point cameras for issued objects. Based on the
bimserver.org built-in IfcOpenShell library, which converts implicit geometric data in IFC instances to global
coordinates, this checker derives bounding boxes of issued objects taking into account of aggregation
relationships between objects. Viewpoint cameras are set up based on bounding boxes to generate snapshots of
issued objects. For this communication purpose, we suggest that the root entity in mvdXML should be defined as
a tangible entity (IfcProduct subtypes) if possible.
4. USE-CASES
In this research, use-cases from the Rgd BIM Norm and Statsbygg BIM Manual are used to define rule-sets to
test the checker. The validation rules can be categorized as follows: (1) checking data existence and cardinality,
including existence of attribute values and referenced entities, and size of collection data types; (2) checking
content of values, including the value of simple data types and collection types; (3) uniqueness of values; (4)
checking the if-then conditional dependency and consistency among them (Weise, 2014). The type (1) usually
accompanies with the later three, while (4) is based on the checking results of (1), (2) and (3). Except for some
rules that are out of the scope of the current mvdXML standard (e.g. metadata requirements such as names of
IFC models, or clash detection which needs additional computation), a brief overview for all the rule types in the
Rgd standard is listed in Table 2.
TABLE 2. Rule category of Rgd BIM Norm
Rule Types Requirements in Rgd BIM Norm
(1) data existence and §2.1.1, §2.1.2, §2.1.4, §2.1.7, §2.1.8, §2.1.9, §2.2.6.1, §2.2.6.2, §2.2.6.4, §2.2.6.5,
cardinality §2.2.7.1, §2.2.7.2, §2.2.7.4, §2.2.7.5, §2.2.7.6, §2.2.7.7, §2.2.7.8, §2.2.7.9, §2.2.7.10,
§2.2.7.11
(2) data content §2.1.2, §2.1.7, §2.1.8, §2.1.9, §2.2.6.2, §2.2.7.1, §2.2.7,2, §2.2.7.3, §2.2.7.5,
§2.2.7.6, §2.2.7.7, §2.2.7.8
RelatedObjects [1:?]
(ABS)IfcObjectDefinition
2 Data content
There are some common scenarios of data content rules in these standards. For example, specific IFC objects
(e.g. IfcBuildingStorey, IfcClassification) should follow some naming conventions; entities should be extended
by specific properties; enumeration types should equal to some values. Rgd §2.2.7.8 defines a rule that an IFC
object which provides access to a space, should have the additional property of “FireExit” within
“Pset_###Common” (where ### is a placeholder for the specific object at hand, e.g. Door, Window etc.). If we
take the door as an example of the access object, this rule can be represented as (3).
x(Door(x) y(hasPropertySet(x, y)
Pset_DoorCommon(y)
(3)
z(contains Property(y, z)
FireExit(z))))
In IFC models, if the agreement is that this property should have the direct association with IfcDoor (not
through IfcDoorType), this rule is represented as (4).
RelatingPropertyDefinition [1:?]
IfcLabel IfcPropertySet
Name
HasProperties [1:?]
IfcIdentifier IfcPropertySingleValue
Name
NominalValue [1:1]
IfcValue
3 Uniqueness
Only a very limited number of rules in these two standards demand the uniqueness of attribute instance values.
Rgd §2.2.7.6 defines an implicit rule to specify that the space names should be unique. This can be represented
as (5), in which we use isUnique(x) as a function which returns a boolean value.
x(Space(x) y(name( x, y) isUnique(y))) (5)
This rule can be represented by the IFC elements in (6), in which we use predicate logic to represent the
semantics of uniqueness. It can be read as “an IfcSpace x should have a name y, and there is no IfcSpace z that
when z is not x, its name w equals to y”.
x(IfcSpace (x) y(name(x, y))
z(IfcSpace (z) name(z, w) (6)
((z x) (y = w))))
In mvdXML, uniqueness rules are defined by the “[Unique]” token. In this case, a simple “Concept Template”
can be structured (Fig. 5) and applied on IfcSpace. The attribute Name of IfcSpace can be defined as
“Name[Unique] = TRUE”.
Name
(ABS)IfcRoot IfcLabel
4 Conditional rules
The conditional rule is to check the dependency or consistency between checking results of aforementioned
types of rules. For example, Rgd §2.2.7 specifies that “each geometric building object is associated with the
appropriate building level, taking into account the hierarchical relationship between IFC objects”. This rule can
be interpreted as “if an element does not compose other elements, it should have association with a building
level” specified in (7). This rule is to check a consistency between the checking results of two data existence
rules.
x(Element(x) y(compose s(x, y))
(7)
→ z(BuildingLevel(z) hasAssociation(x, z)))
The IFC version of this rule is specified in (8).
x(IfcEleme nt(x) y(Decompos es(x, y))
→ w(ContainedInStructure(x, w)
(8)
IfcRelCont ainedInSpatialStructure(w)
z (RelatingStructure(w , z) IfcBuildin gStorey(z))))
In the mvdXML standard, conditional dependency relationships are currently implemented by logic connectors
of “AND”, “OR” and “XOR”. In this case, the Concept Template can be set up as Fig. 6 and then applied to
IfcElement as a Concept. Parameters are defind for the attribute of Decomposes and ContainedInStructure. The
if-then condition in this case can be defined as: “(Decomposes[Size] = 0 AND ContainedInStructure[Size] = 1)
OR Decomposes [Size]=1”.
(INV) Decomposes
(ABS)IfcElement (ABS)IfcRelDecomposes
(INV) ContainedInStructure
5. CHECKING RESULTS
After check execution, BCF reports are generated. BCF reports and the checking tool are perfect partners and
they benefit from each other. BCF reports make generated issues more visual and so more convenient for
communication, while checking tool automatically generate quantities of issues and their cameras, which can
fully take advantages of BCF files in comparison to manually making BCF issues. However, this combination
also raises questions how to manage generated issues and how to integrate this check into working processes.
A BCF server is proposed and implemented by (Berlo and Krijnen, 2014) to manage BCF issues generated from
different parties. The “BCF forum” is an intermediate between bimserver.org and the BCF server. It has
provided a unified user interface connects BCF issues in the BCF server with IFC model revisions in
bimserver.org. It also supports zooming into specific parts of the building model according to the camera defined
in BCF files. This model view checker has been added into this framework and semi-automatically works with
them. According to the revision ids of IFC models on bimserver.org, their related BCF issues generated by the
checker can be automatically associated with specific revisions of IFC models. Therefore, after checking for one
revision of the IFC model, BCF reports are generated and submitted to the BCF server. Domain end-users can
modify the design according to the issues presented on the BCF forum and submit the model again to the
bimserver.org as another revision. This process can be recurrently continues till satisfaction. Fig. 7 shows a
snapshot of generated BCF reports opened in BCF forum. It shows the checking results of the rule defined in the
sub-section 4.2.
2 Ease-of-use
MvdXML is more easy-to-use than full-fledged programming languages and thus lowers the threshold for
common-day use. However, it still requires development skills with a strong background in the IFC specification.
The semantics of a Concept in mvdXML is more like a sentence of rule rather than a concrete concept in the real
world. For example, a rule stating “every space except a service shaft should be accessible through at least one
door” is defined as a Concept to specify this if-then dependency. However, from a domain expert’s perspective,
the concepts of “service shaft”, “is accessible through” and “door” might be more interpretable and reusable.
From the examples listed in section 4, we believe that a mechanism to map low level elements in data models to
human understandable terms can be developed. A Description Logic based method can be used to map elements
from the IFC schema to natural language concepts. This approach requires the development of a collection of
terminologies used for exchange requirements and rules.
3 Expressivity
The current version of mvdXML is mainly used to check the explicit information in IFC models. Therefore, to
some extent it is a tool to check the agreements on information and their implementation rather than to check the
4 Issue Fixing
According to generated issue reports, domain end-users should edit building models to add missed information,
modify improper model constructs, or delete information that should not be asserted. However, when issues are
caused by IFC implementations e.g. software vendors have disagreements with validation rules about how to
capture information in IFC instances, they can hardly be solved in real working processes. A simple example is
that some applications such as Revit model “door type” in IfcDoorStyle instead of IfcDoorType, which however
conflicts with many model views and BIM manuals. Although to identify implementation issues is one of the
main purposes of IFC validation, but when these issues happen, domain users cannot directly fix them in projects.
A rule language is a possible solution for this issue by transforming instances to different constructs. A similar
discussion about this issue is provided in (Belsky et al., 2013).
5 Verification
This tool currently does not yet have mechanisms to evaluate if the checking result is completely reliable.
Verification errors may of course due to implementation bugs, but verification errors caused by semantic errors
within mvdXML rules happen more frequently. This again needs a formal method to review the contents of
mvdXML rules to check if they correctly represent the meaning of the requirements or if developed rules have
conflicts with each other. Transforming rules defined in mvdXML to logic-based method is a potential solution
for this issue.
8. REFERENCES
Beetz J., Berlo L. van, Laat R. de, Helm P. van den. (2010). Bimserver.org - an open source IFC model server.
Proceedings of 27th International Conference on Applications of IT in the AEC Industry CIB-W78, Cairo,
November 2010. 1-8.
Belsky M., Sacks R. and Brilakis I. (2013). A framework for semantic enrichment of IFC building models.
Proceedings of 30th International Conference on Applications of IT in the AEC Industry CIB-W78,
Tsinghua University, Beijing, 514-523.
Berlo L. van, Beetz J., Bos P., Hendriks H. and Tongeren R. van. (2012). Collaborative engineering with IFC :
new insights and technology. Proceedings of 9th European Conference of Product and Process Modeling,
Reykjavik, Iceland, 811-818.