A Recommender System to Assist the Semantic Enrichment of ... · A Recommender System to Assist the...
Transcript of A Recommender System to Assist the Semantic Enrichment of ... · A Recommender System to Assist the...
A Recommender System to Assist the SemanticEnrichment of IFC models
Diana Gouveia Ribeiro
Thesis to obtain the Master of Science Degree in
Information Systems and Computer Engineering
Supervisor Prof Paulo Jorge Fernandes Carreira
Examination Committee
Chairperson Joseacute Manuel da Costa Alves MarquesSupervisor Prof Paulo Jorge Fernandes Carreira
Member of the Committee Joseacute Alberto Rodrigues Pereira Sardinha
November 2016
Strive not to be a success but rather to be of valueAlbert Einstein
Acknowledgments
First of all I would like to thank my parents for all the support and motivation during my academic
journey Without them none of it would have been possible I dedicate this work to them
I would like to thank Professor Paulo Carreira and Professor Antoacutenio Aguiar Costa for the support
the guidance to achieve this work and for believing in me and this workrsquos potential
I would also like to thank my boyfriend Ricardo Paradela for the unconditional support and motiva-
tion along the duration of this work
Last but not least I would like to thank my friends for their support in times of need
iii
Abstract
Activity planning in construction projects is time consuming and error prone This task is one among
many that is a practical application of performing semantic enrichment in IFC models Planning practice
demonstrates that a large number of the activities assigned to a project are determined by the projectrsquos
construction elements and profile Considering that ideally there should be a way of automatically
deriving the corresponding activities for a construction project The main hindrance to automation is that
the assignment of activities to the same building elements displays high variability and relies to a great
extent on tacit knowledge of the project planner regarding the project This work aims at implementing
and validating a system that performs automatic suggestion of activities given an IFC model of the
building Our solution harvests expert knowledge through a recommendation algorithm that collects
data from previous projects and learn when users review the assignments add missing ones or identify
incorrect ones The validation of this solution shows that the time used in activity planning is reduced
Keywords
BIM IFC Semantic Enrichment Recommendation Algorithms Omniclass
v
Resumo
O planeamento de actividades em projectos de construccedilatildeo eacute demorado e propenso a erros Esta
tarefa eacute uma das muitas aplicaccedilotildees praacuteticas do enriquecimento semacircntico de modelos IFC A praacutetica
do planeamento de actividades mostra que um grande nuacutemero das actividades atribuiacutedas a um projecto
satildeo determinadas pelos elementos de construccedilatildeo e perfil do projecto Posto isto idealmente deveria
haver uma forma automaacutetica de inferir as actividades correspondendes a um projecto de construccedilatildeo
O maior problema da automaccedilatildeo eacute que a atribuiccedilatildeo de actividades para os mesmos elements de con-
struccedilatildeo apresenta um grande niacutevel de variabilidade e depende em grande parte no conhecimento do
planeador do projecto em relaccedilatildeo ao mesmo Este trabalho tem como objectivo implementar e validar
um sistema que realiza sugestotildees automaacuteticas de actividades dado um modelo IFC de um projecto de
construccedilatildeo Esta soluccedilatildeo recolhe conhecimento especializado atraveacutes de um algoritmo de recomen-
daccedilatildeo que colecciona dados de projectos anteriores e aprende quando os utilizadores validam as
atribuiccedilotildees adicionam as que faltam ou corrigem as que estatildeo incorrectas
Palavras Chave
BIM IFC Enriquecimento Semacircntico Algoritmos de Recomendaccedilatildeo Omniclass
vii
Contents
1 Introduction 1
11 Motivation 3
12 Methodology and Contributions 3
13 Document Organization 4
2 Concepts 5
21 Building Information Modelling 6
211 BIM Tools Platforms and Environments 6
212 BIM Schemas 7
213 Model View Definitions 7
214 Exchange Formats 7
215 Industry Foundation Classes 8
216 COBie 9
22 Omniclass Classification System 10
221 OmniClass Tables 11
222 Uniclass 11
23 Ontologies 12
24 Recommendation Algorithms 13
241 Association Rules 13
242 K-Nearest Neighbours 13
243 K-Means Clustering 14
244 Evaluation of recommendation algorithms 14
3 Related Work 17
31 Building Information Models 18
310A SeeBIM for semantic enrichment 18
310B Object Profile Manager for semantic interoperability 19
32 Recommender Systems 19
320C Amazoncomrsquos Item-to-item collaborative filtering 20
320D eBaycomrsquos Feedback Profile 20
320E MovieFindercomrsquos Match Maker 20
320F Reelcomrsquos Movie Map 20
ix
320G HeyStaks 21
320H BibSonomy 21
33 Discussion 22
4 Solution 25
401 Solution Overview 26
41 Requirements 26
411 Use Case 27
412 Conceptual Overview 27
412A The relevant information from IFC 27
412B Formal definition of the recommendation algorithm 28
42 Conclusion 29
5 Implementation 31
51 Data Model 32
52 Architecture 32
521 The Model View Controller Pattern 32
522 Data and Domain Layers 32
523 Service Layer 35
53 Application Layer 35
531 Distributed Architecture 36
54 Main features 37
541 User profile and project creation 37
542 File upload and IFC Tools Project 37
543 File parsers 38
544 Recommendation algorithm and creation of associations 39
6 Validation 41
605 Methodology 42
605A Validating the algorithm 42
605B User satisfaction validation 42
606 Results 42
606A Recommendation Algorithm 42
606B User Satisfaction 43
7 Conclusion 45
71 Future Work 46
72 Final Remarks 46
Bibliography 49
Appendix A RESTful API A-1
x
Appendix B Validation Protocol B-1
Appendix C Satisfaction Questionnaire C-1
Appendix D Satisfaction Questionnaire Results D-1
xi
List of Figures
11 The dashed lines represent the goal to achieve with the proposed solution a direct map-
ping between IFC Elements and activities extracted from OmniClass standard 4
21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of
the IFC structure Each schema relates to a different concern 8
22 Geometric representation of wall opening and window A - 3D representation of the
object B - List of object parameters 10
23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L -
Construction Products (B) where it is clear the tree structure of Omniclass tables 12
31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of
execution that allows an IFC model to be enriched by the rule processing engine 18
41 BIMLinkrsquos use case 27
51 BIMLinkrsquos Data model 33
52 Layered architecture - conceptual layers on which the design on the application is based 34
53 MVC message flow 34
54 Sample route definition 35
55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of mes-
sages exchanged (1) - Requestsreplies between client and application and (2) - Queriesreplies
tofrom the database 36
56 Classification of an IfcColumn Here it is possible to see that the definition of a classifica-
tion reference list all the objects subject to such classification 38
57 Decision tree followed by the algorithm to create associations between products and work
results 39
58 Work flow to find the best work result code for a product 40
61 Project page for the ClinicOPO project after adding the code in HouseLx project A -
List of IfcbjectDefinitionrsquos extracted from the IFC file showing the pre-filled field for the
Omniclass Work Result from a recommendation based on previous projects 43
xiii
List of Tables
21 Mapping between the tables from OmniClass and Uniclass adapted from [4] 11
31 Applicability analysis of the systems for semantic clarity in BIM studied for this work 22
32 Applicability analysis of the recommender systems studied for this work The recommen-
dation quality is evaluated in High ( ) Medium (G) and Not Applicable(-) 23
xv
1Introduction
Contents11 Motivation 312 Methodology and Contributions 313 Document Organization 4
1
Building Information Models (BIM) have emerged as a way to promote the exchange of information
about a construction project between all of its stakeholders during its lifestyle Currently the Industry
Foundation Classes (IFC) exchange format is a BIM standard that contains information about build-
ing design planning or construction management Although IFC is very complete in some cases its
construction elements can have multiple definitions because of the need to represent objects and rela-
tionships for a wide range of Architecture Engineering and Construction (AEC) domains [1] For exam-
ple a precast floor slab a construction element can be defined in IFC as a rsquoBoundary Representation
bounding boxrsquo for clash detection as rsquosolid extrusionsrsquo of individual pieces for fabrication as rsquobuilding
entitiesrsquo without explicit geometry for production and delivery sequencing and as a rsquoslab aggregationrsquo
for other purposes All of these classes are distinct representations of the same construction element
and this happens because the rules for choosing the most suitable class due to the context of the project
are not defined Indeed studies show that without well-defined exchange model views the exchanges
are vulnerable to errors omissions contradictions and misinterpretations since they reduce or simplify
the information [2] In other words IFC lacks semantic clarity [3] One way to clarify the semantics of
IFC consists of mapping them to classification systems such as OmniClass [4] or UniClass [5] Thereby
classifying IFCrsquos information and addressing the multiple definitions problem This process which nowa-
days is mostly done manually is called semantic enrichment of the IFC model To perform semantic
enrichment manually one needs to combine multiple tables from a classification system and for projects
with similar profiles but different IFC models all the work has to be repeated since there is no way of
reusing past classifications from similar projects This task is tedious time consuming and error-prone
One of the applications for performing semantic enrichment on IFC models is for activity planning in
construction projects In various cases the same IfcElement [6] can have different activities assigned
to it depending on the profile of the project in question This problem can be addressed with a rec-
ommendation algorithm to help choose the most suitable assignments of activities depending on the
project
Two solutions have been proposed in literature for the semantic enrichment of IFC models see-
BIM [7] performs semantic enrichment to IFC models with a rule-based engine However it does not
make use of classification systems proposing a complex and not easily usable solution Object Profile
Manager [8] is an IFC-compliant object-CAD based and Web Ontology Language (OWL) ontology ap-
proach for semantic interoperability for BIM However Computer-Aided Design (CAD) modelling is out of
the scope of this work Both of these approaches aim at solving the problem this thesis will attempt to
solve but both are incomplete
In the field of recommendations two kinds of algorithms were explored rule based and clustering
With a rule-based algorithm such as Apriori [9] the goal is to find elements that have a high probability
of always belonging to the same set For example in a e-commerce platform the goal is to find the
items that are frequently bought together and create an association rule between them On the other
side with clustering or nearest neighbours algorithms the goal is to create groups based on a similarity
function From the previous example the goal here is to find customers with similar tastes by grouping
them together based on common bought items [9 10]
2
This works aims at validating the feasibility of using a recommender system BIMLink to simplify
and reduce the time spent while classifying complex information extracted from an IFC file For a given
project the system will have stored information from previous projects that are similar and will suggest
activity assignments that are similar The similarity of the projects is calculated according to the project
profile defined by its type and the region it is located in These suggestions will be based on a recom-
mendation algorithm that suggests the activities based on a calculated weight for each association This
weight is modified every time a suggestion is either correct or incorrect The algorithm will always aim to
suggest the associations with the higher weights according to previous similar projects The only tasks
the user needs to perform is validate the suggestions and add missing ones or delete incorrect ones
In order to evaluate the success of the system user tests will be conducted to conclude the usability
of the system and if it indeed does reduce the time spent while performing activity planning Also internal
performance tests on the algorithm will be performed to determine the quality of the recommendations
With this system it is expected that the time spent with activity planning will be reduced significantly
and the degree of complexity of this task will also decrease As for the semantic enrichment of the IFC
models it is expected that after performing the classifications in the case of this work performing the
assignment of activities to IFC elements the ambiguity will be extremely reduced and so will IFCrsquos lack
of semantic clarity
11 Motivation
When performing activity planning for a construction project there are two outcomes that are of
extreme importance for an efficient plan These are the resources that are needed for each activity as
well as the cost of each activity These measures will help determine the feasibility and success of the
construction project
To achieve the highest level of accuracy for the plan the activities need to be carefully assigned to
the right elements This can be an issue due to the fact that the chosen activity for a given construction
element depends on the context of the construction project For example one construction element
such as a door can be assigned one activity in one project such as assembling the door and another
activity for instance painting in another project If for some reason the wrong activity is assigned
the wrong construction element the resources and cost for that activity can be miscalculated This is
why a system that aids with activity planning reducing errors in activity assignment is needed which is
portrayed in Figure 11 This system uses the Omniclass Classification System by mapping Omniclass
Products to Omniclass Work results which represent the elements and activities respectively
12 Methodology and Contributions
This work has two main goals The first is to perform a literature review that intends to conclude if
there is currently any solution for Semantic Enrichment of IFC models with the Omniclass Classification
System The second goal of this work is to develop a solution that provides a way to semantically enrich
IFC models with the Omniclass Classification System while resorting to a recommendation algorithm so
3
Figure 11 The dashed lines represent the goal to achieve with the proposed solution a direct mapping betweenIFC Elements and activities extracted from OmniClass standard
that the time the user needs to spend enriching the model with activities is reduced To fulfill these goals
this work will be conducted as follows
bull Description of the concepts concerning BIM and recommendation algorithms
bull Analysis of the solutions used for Semantic Enrichment
bull Analysis of the most popular recommender systems
bull Identify in the literature the most suitable recommendation technique
bull Formalize an algorithm that fulfils the goal of the system
bull Develop an application BIMLink that fulfils the requirements of the system by using the formalized
algorithm to perform recommendations of the IFC files
bull Perform tests on the solution in order to validate the accuracy of the algorithm and feasibility of the
system
13 Document Organization
This manuscript is structured as follows Section 2 introduces the fundamental concepts of Building
Information Models as well as recommendation algorithms Section 3 details the related work in the
areas of BIM concerning Semantic Enrichment and recommender systems This section ends with an
analysis of the applicability of the presented systems to the problem to be solved Section 4 presents
a conceptual overview of the solution describing the relevant information from the IFC files as well as
formalizing the algorithm It also presents the domain model the requirements the system must fulfil
and the architecture of the solution Section 5 outlines the implementation details of the systemrsquos main
features Section 6 describes the validation plan and the results and finally Section 7 presents the
conclusions
4
2Concepts
Contents21 Building Information Modelling 622 Omniclass Classification System 1023 Ontologies 1224 Recommendation Algorithms 13
5
This section presents the concepts that are relevant for the understanding of the problem of this
work The first concept to be described is BIM 21 where its main features are presented Next Clas-
sification Systems 222 namely OmniClasses and their properties are discussed A brief overview of
Ontologies23 in the field of this work is presented Finally an analysis on Recommendation Algorithms
244
21 Building Information Modelling
BIM is an open technology for digital building modelling According to the National Institute of Building
Sciences (NIBS)1 BIM can be described as an improved planning design construction operation and
maintenance process using a standardized machine readable information model for each facility new or
old which contains all appropriate information created or gathered about that facility in a format usable
by all throughout its life cycle [11 12]
BIM was created as a solution for the need to simplify the process of exchanging information between
the activities in buildingrsquos AECO phases Now it is possible for example that the initial drafts made by
the architects are given to the engineers through digital means This contributes to savings on paper
support since the processes are fully digital and reduces the complexity inherent to the construction
process while making it faster
BIM also has the advantage of enabling collaboration among the stakeholders For instance the
architect adds sketches of the building as well as itrsquos equipment the structural engineer modifies it to
comply with physical principles the builder uses it to help on the construction phase and the building
manager bases on it to operate the facility properly It is clear that all the projectrsquos stakeholders can
contribute to the model according to each onersquos area of expertise on each phase of the building life cycle
Another important aspect is that BIM makes most of the processes related to buildings more agile saving
in bureaucracy and enabling error traceability For example using a tool to build the three-dimensional
model of the facility one can easily check for collisions between different systems or construction errors
like a tube being exposed to the outside of the building roof [11 13 pp 21-22 24]
211 BIM Tools Platforms and Environments
Having a single model containing the facilityrsquos data enables integration of a wide variety of tools that
work the model not only for editing it but also for extracting information useful to analyse the facil-
ity Some of them are design tools but there are others that consider a set of other functionality BIM
tools are used with the purpose of executing specific tasks considering the building model such as
cost estimation energy simulation errorclash detection and many others BIM platforms are used to
help develop BIMs providing an UI for designing building products Finally BIM environments combine
functionality from the two above providing integration between BIM tools and platforms inside an orga-
nization BIM environments are useful for automating the generation of BIM reports and data sets from
the building mode [11 70 71]
1httpwwwnibsorg
6
212 BIM Schemas
While the BIM model describes information regarding an instance of a building a BIM schema pro-
vides a structure to enable the representation of constructs defining how each element of the building
is described through elements properties and relationships In practice a BIM model is an instance of
a building that can be stored in a common format based on the structure described in the schema
BIM schemas can be internal or external On one hand an internal BIM schema represents the way
BIM tools model the information of the building their modelling constructs and knowledge On the other
hand an external BIM schema represents a common model independent from the applications used
to enable interoperability among them Furthermore an internal schema describes concepts regarding
a tool or project phase while an external schema is used for exchange among the several phases of the
project [14]
213 Model View Definitions
In order to adapt to the complexity that comes from the fact that BIM models contain information about
several aspects regarding the building from design to operation Model View Definitions (MVDs) define
subset models regarding fewer aspects of the building These views define a simpler and more specific
set of data for use in a given scenario when needed by the different stakeholders [15] BIM exchange
formats such as IFC are provided with a set of these MVD which define simpler models used in specific
applications or by specific stakeholders For each exchange scenario MVDs help define what is and
what is not in the scope of each exchange scenario Some formatsmdashCOBie for examplemdashare intended
to resolve the problem of handover by representing information typically required to be delivered from
one stage to another like from construction to operation [11 pp 120-122]
214 Exchange Formats
One of the most important properties of BIM tools and platforms is their interoperability and to
achieve that the information must flow from one to another in an independent format that is understood
by different applications In order to achieve this requirement exchange formats are developedThe first
information exchange formats Drawing eXchange Format (DXF) and Initial Graphic Exchange Spec-
ification (IGES) appeared in the 1980s and had only geometric data on building With the efforts on
developing BIM these evolved into formats like IFC which contain information about building design
planning or construction management or CIMsteel Integration Standard 2 (CIS2) for representing fab-
rication and structural engineering of steel Modelling languages like EXPRESS or EXtensible Markup
Language (XML) are used in these exchange formats so that information can be passed through a file
base exchange [11 pp 99-104]
7
Figure 21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of the IFC struc-ture Each schema relates to a different concern
215 Industry Foundation Classes
IFC is an open exchange format for sharing building data across the several stakeholders of its project
and operation which was created by buildingSMART2 (former International Alliance for Interoperability)
and as of March 2013 it is a published international standard ISO 16739 It is designed to model all
the existing data throughout the buildingrsquos life cycle and is the actual standard format for openBIM3
a software tool kit for developing BIM extensions IFC makes the model extensible and interoperable
by enabling the modeller to create new definitions since it is based on a meta model that broads the
definition of Class [16] In 2010 the IFC Certification 20 procedure was developed by BuildingSmart
for the IFC 2x3 Coordination View Version (CV20) which is an MVD intended to promote consistent and
reliable implementations of the IFC specification by many software vendors across multiple platforms [7]
IFCs are modelled recurring to the EXPRESS language to describe the classes mentioned above
These classes are comprised by the specification of an object and its attributes Each objectrsquos semantic
is described by said attributes These objects are connected by relations There are three main types
of classes object relation and resource classes Object classes represent the several entities inside
a building which are identified by a global identifier and a ownership identifier Each object class has
attributes that describe its details and the context where it is being used (such as topology geometry
etc) Relation classes represent the way elements connect to other objects There are many kinds
of relation classes that implement diverse types of interaction such as aggregation containment or
control The applicability of each relation is limited in other words relations specify which objects can
be bound to them Resource classes represent the attributes used to describe entities [17]
IFC structuremdashthat can be found in buildingSMARTrsquos website4 is composed of data schemas each
one relating to a different concern As Figure 21 depicts the data schemas divide in four conceptual
layers[18] Starting from the bottom there is the Resource Layer which represents individual business
concerns such as costs geometry or material The schemas in this layer are used to define properties
of classes from the remaining layers Next there is the Core Layer which is divided in Kernel and Core
extension schemas include the most abstract entities that are specified by the ones from the following
layers (Domain and Interoperability) The entities from Core layer are identified by a global ID and an
2httpwwwbuildingsmartorg3httpwwwopenbimorg4httpwwwbuildingsmart-techorgifcIFC4finalhtmlindexhtm
8
optional Ownership ID and historical data Following the Core Layer there is the Interoperability Layer
and contains the models related to concepts that are used by two or more models from the Domain
Layer This layer has the purpose of enabling inter-domain exchange and information sharing between
the upper levelrsquos classes Finally the highest layer is the Domain Layer which includes the entities that
concern to specializations of products processes or resources from a specific discipline
In the context of this work it is very important to understand how the information concerning a
BIM model is represented in an IFC schema in order to structure that information and feed it to the
recommendation algorithm As represented in Figure 21 the information that is of most relevance to
this work belongs to the resource layer It is in this layer that we find the elements the recommendation
algorithm will need These elements can be for example a door a column the floor in which an object
is in or the relation between a window and a wall To illustrate this a practical example [19] of a how a
window can be placed inside a wall is illustrated
To insert a window or door in a wall it is required to create an opening For this the following entities
are relevant IfcWall IfcOpeningElement IfcWindow These entities need to be connected via relative
placement and via topological connection Each physical object has a placement The placement is rep-
resented by IfcLocalPlacement and can be relative to an IfcLocalPlacement of another physical object
(in case of aggregation feature or filling relation) or of an spatial structure element This process of local
placements is recursive IfcWall IfcOpeningElement and IfcWindow each have their own IfcLocalPlace-
ment however the IfcLocalPlacement of IfcWindow is defined relatively to the IfcLocalPlacement of
IfcOpeningElement and the IfcLocalPlacement of IfcOpeningElement is defined relatively to the IfcLo-
calPlacement of IfcWall The IfcWall and IfcOpeningElement are connected via the objectified relation
IfcRelVoidsElement The IfcRelVoidsElement is connected with the wall via the relationship Relating-
BuildingElement and to the opening element via the relationship RelatedOpeningElement Through
the inverse relationships it is possible to traverse from wall to opening element and vice versa The
IfcOpeningElement and IfcWindow are connected via the objectified relation IfcRelFillsElement The
IfcRelFillsElement is connected with the opening element via the relationship RelatingOpeningElement
and to the window via the relationship RelatedBuildingElement Through the inverse relationships it is
possible to traverse from opening element to window and vice versa The geometric representation of
this example is presented in Figure 23
From the example described above it is clear that when performing activity planning it is very impor-
tant to have two classes of the IFC model well defined the IfcElements and their relationships because
although in different projects a window is used itrsquos relationship to the other elements is crucial to decide
which activity to associate to the window
216 COBie
COBie can be defined as a MVD5 over BIM In other words it consists on a subset of information from
the building Its main use is as an data exchange format by construction teams to handover operational
and maintenance information collected during AEC phases to the facility owner as construction finishes5httpdocsbuildingsmartallianceorgMVD_COBIE
9
Figure 22 Geometric representation of wall opening and window A - 3D representation of the object B - List ofobject parameters
such as equipment lists preventive maintenance schedules or warranty information It can be viewed
in spreadsheets or imported by specific tools for visualization COBie was created to eliminate the
excess of paper usage arising from the information delivered to the building manager when the project
finishes Moreover information took too much time to be compiled since some documents had to be
recreated causing the information to be delivered much later than the expected Once the building
model is constantly updated as the project goes by there is no need to recreate information about what
happened in a given phase and therefore it reaches facility managers quicker with minimum delay [20]
22 Omniclass Classification System
The OmniClass Construction Classification System 6 commonly known as OmniClass or OCCS is
a classification system for the construction industry which is created by the North American AEC indus-
try It is useful for many applications in the area of BIM from organizing reports and object libraries to
providing a way to roll up or drill down through data to get the information that meets the needs of the
projectrsquos stakeholders In simple terms OmniClass is a standard for organizing all construction informa-
tion This information is structured in the form of tables OmniClass bases its tables in other systems that
are not in use any more Those systems are MasterFormat [21] UniFormat [22] and EPIC (Electronic
Product Information Cooperation) for work results elements and products respectively OmniClass fol-
lows the international framework set out in ISOTR 14177 This document was later established as a
standard in ISO 12006-2 Organization of Information about Construction Works - Part 2 Framework for
Classification of Information
221 OmniClass Tables
OmniClass is designed to provide a standardized basis for classifying information and is intended to
be the means for organizing sorting and retrieving information and deriving relational computer applica-6httpwwwomniclassorg
10
Omniclass Uniclass
Table 11 ndash Construction Entities by Function Table D ndash FacilitiesTable 12 ndash Construction Entities by Form Table E ndash Construction EntitiesTable 13 ndash Spaces by Function Table F ndash SpacesTable 14 ndash Spaces by Form Table F ndash Spaces
Table 21 ndash Elements Table G ndash Elements for BuildingsTable H ndash Elements for Civil Engineering Works
Table 22 ndash Work Results Table J ndash Work Sections for BuildingsTable K ndash Work Sections for Civil Engineering Works
Table 23 ndash Products Table L ndash Construction ProductsTable 31 ndash Phases Table C ndash Management (in part)Table 32 ndash Services OmniClass Table B ndash Subject DisciplinesTable 33 ndash Disciplines Table B ndash Subject DisciplinesTable 34 ndash Organizational Roles Table C ndash Management (in part)Table 35 ndash Tools Table M ndash Construction AidsTable 36 ndash Information Table A ndash Forms of InformationTable 41 ndash Materials Table P ndash MaterialsTable 49 ndash Properties Table N ndash Properties and Characteristics
Table 21 Mapping between the tables from OmniClass and Uniclass adapted from [4]
tions To fulfil this the system consists of 15 hierarchical tables each representing a different aspect of
construction information The tables can be used individually or combined when a more complex type of
information needs to be classified [4] Tables 11-12 are used to organize construction results Tables 23
33 34 and 35 and to a lesser extent 36 and 41 are used to organize construction resources And finally
tables 31 and 32 are used to classify construction processes including the phases of construction entity
life cycles The 15 tables of Omniclass also map to the suggested tables in Section 4 of ISO 12002-2
The most important characteristic of these tables is that they are designed to work together to provide
extremely granular or specific classification Depending on the complexity of the object being classified
and the level of detail desired an object can have occurrences in one two or more tables For example
when trying to describe the workcost relationship that states that if a wall is battered 30 of labour
cost is added and if the wall is curved an extra 30 is added there is a need to combine table 23 where
we can find the products and table 22 where the work results are stated and reflect the activities to be
performed on such products
222 Uniclass
The Unified Classification System for the Construction Industry is the United Kingdomrsquos equivalent
to Omniclass From an early point there has always been a collaboration between the developers of
both OmniClass and Uniclass in order to promote a harmonized international standard The mapping
between the tables from OmniClass to Uniclass is presented in Table 21
23 Ontologies
An ontology is a formal representation of an abstracted view of a domain that describes the objects
concepts and relationships between them that holds in that domain for a specific purpose [23] There
11
Figure 23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L - ConstructionProducts (B) where it is clear the tree structure of Omniclass tables
are different classifications of ontologies based on parameters such as level of granularity their use
and types of relationships [24ndash27] The process of ontology modelling consists of modelling the con-
cepts and relationships in a specific field into formal ontologies ie in an ontology language with formal
syntax [28] Ontology engineering is useful for enabling interoperability across heterogeneous systems
because it provides the necessary semantics for many fields of knowlegde and facilitates knowledge
reuse sharing and integration [29 30] In the context of this work ontologies help with IFCrsquos lack of
semantic clarity in mapping entities and relationships which can result in the potential for multiple data
structures to represent the same information [3] The goal of ontology development is to remove am-
biguities associated with different viewpoints and formalize IFC definitions for a robust model exchange
solution [31] Also ontologies are one of the key technologies to deal with the semantic interoperablity
caused by the need to share semantics of BIM among project participants who do not necessarily share
the same definition of terminologies [8] Ontologies specify the semantic of terminology systems in a
well defined and unambiguous manner [32] by formally and explicitly representing shared unterstanding
about domain concepts and the relationships between concepts
ifcOWL emerges as a solution to the problem presented above by being an ontology based on
the industry foundation classes This ontology was created semi automatically by BuildingSmart by
lifting an EXPRESS schema into an ontological level by transforming the language constructs from
the schema into a terminology box definition using Web Ontology Language [33] Using OWL (Web
Ontology Language) [34] the intended meanings of domain technologies and relations are specified
through various OWL constructs which have implemented OWL semantics and logical axioms in an
easy-to-use way [8] Another approach to solve IFCrsquos lack of semantic clarity are the OmniClass tables
described in which present a structured source for an ontology
12
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Strive not to be a success but rather to be of valueAlbert Einstein
Acknowledgments
First of all I would like to thank my parents for all the support and motivation during my academic
journey Without them none of it would have been possible I dedicate this work to them
I would like to thank Professor Paulo Carreira and Professor Antoacutenio Aguiar Costa for the support
the guidance to achieve this work and for believing in me and this workrsquos potential
I would also like to thank my boyfriend Ricardo Paradela for the unconditional support and motiva-
tion along the duration of this work
Last but not least I would like to thank my friends for their support in times of need
iii
Abstract
Activity planning in construction projects is time consuming and error prone This task is one among
many that is a practical application of performing semantic enrichment in IFC models Planning practice
demonstrates that a large number of the activities assigned to a project are determined by the projectrsquos
construction elements and profile Considering that ideally there should be a way of automatically
deriving the corresponding activities for a construction project The main hindrance to automation is that
the assignment of activities to the same building elements displays high variability and relies to a great
extent on tacit knowledge of the project planner regarding the project This work aims at implementing
and validating a system that performs automatic suggestion of activities given an IFC model of the
building Our solution harvests expert knowledge through a recommendation algorithm that collects
data from previous projects and learn when users review the assignments add missing ones or identify
incorrect ones The validation of this solution shows that the time used in activity planning is reduced
Keywords
BIM IFC Semantic Enrichment Recommendation Algorithms Omniclass
v
Resumo
O planeamento de actividades em projectos de construccedilatildeo eacute demorado e propenso a erros Esta
tarefa eacute uma das muitas aplicaccedilotildees praacuteticas do enriquecimento semacircntico de modelos IFC A praacutetica
do planeamento de actividades mostra que um grande nuacutemero das actividades atribuiacutedas a um projecto
satildeo determinadas pelos elementos de construccedilatildeo e perfil do projecto Posto isto idealmente deveria
haver uma forma automaacutetica de inferir as actividades correspondendes a um projecto de construccedilatildeo
O maior problema da automaccedilatildeo eacute que a atribuiccedilatildeo de actividades para os mesmos elements de con-
struccedilatildeo apresenta um grande niacutevel de variabilidade e depende em grande parte no conhecimento do
planeador do projecto em relaccedilatildeo ao mesmo Este trabalho tem como objectivo implementar e validar
um sistema que realiza sugestotildees automaacuteticas de actividades dado um modelo IFC de um projecto de
construccedilatildeo Esta soluccedilatildeo recolhe conhecimento especializado atraveacutes de um algoritmo de recomen-
daccedilatildeo que colecciona dados de projectos anteriores e aprende quando os utilizadores validam as
atribuiccedilotildees adicionam as que faltam ou corrigem as que estatildeo incorrectas
Palavras Chave
BIM IFC Enriquecimento Semacircntico Algoritmos de Recomendaccedilatildeo Omniclass
vii
Contents
1 Introduction 1
11 Motivation 3
12 Methodology and Contributions 3
13 Document Organization 4
2 Concepts 5
21 Building Information Modelling 6
211 BIM Tools Platforms and Environments 6
212 BIM Schemas 7
213 Model View Definitions 7
214 Exchange Formats 7
215 Industry Foundation Classes 8
216 COBie 9
22 Omniclass Classification System 10
221 OmniClass Tables 11
222 Uniclass 11
23 Ontologies 12
24 Recommendation Algorithms 13
241 Association Rules 13
242 K-Nearest Neighbours 13
243 K-Means Clustering 14
244 Evaluation of recommendation algorithms 14
3 Related Work 17
31 Building Information Models 18
310A SeeBIM for semantic enrichment 18
310B Object Profile Manager for semantic interoperability 19
32 Recommender Systems 19
320C Amazoncomrsquos Item-to-item collaborative filtering 20
320D eBaycomrsquos Feedback Profile 20
320E MovieFindercomrsquos Match Maker 20
320F Reelcomrsquos Movie Map 20
ix
320G HeyStaks 21
320H BibSonomy 21
33 Discussion 22
4 Solution 25
401 Solution Overview 26
41 Requirements 26
411 Use Case 27
412 Conceptual Overview 27
412A The relevant information from IFC 27
412B Formal definition of the recommendation algorithm 28
42 Conclusion 29
5 Implementation 31
51 Data Model 32
52 Architecture 32
521 The Model View Controller Pattern 32
522 Data and Domain Layers 32
523 Service Layer 35
53 Application Layer 35
531 Distributed Architecture 36
54 Main features 37
541 User profile and project creation 37
542 File upload and IFC Tools Project 37
543 File parsers 38
544 Recommendation algorithm and creation of associations 39
6 Validation 41
605 Methodology 42
605A Validating the algorithm 42
605B User satisfaction validation 42
606 Results 42
606A Recommendation Algorithm 42
606B User Satisfaction 43
7 Conclusion 45
71 Future Work 46
72 Final Remarks 46
Bibliography 49
Appendix A RESTful API A-1
x
Appendix B Validation Protocol B-1
Appendix C Satisfaction Questionnaire C-1
Appendix D Satisfaction Questionnaire Results D-1
xi
List of Figures
11 The dashed lines represent the goal to achieve with the proposed solution a direct map-
ping between IFC Elements and activities extracted from OmniClass standard 4
21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of
the IFC structure Each schema relates to a different concern 8
22 Geometric representation of wall opening and window A - 3D representation of the
object B - List of object parameters 10
23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L -
Construction Products (B) where it is clear the tree structure of Omniclass tables 12
31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of
execution that allows an IFC model to be enriched by the rule processing engine 18
41 BIMLinkrsquos use case 27
51 BIMLinkrsquos Data model 33
52 Layered architecture - conceptual layers on which the design on the application is based 34
53 MVC message flow 34
54 Sample route definition 35
55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of mes-
sages exchanged (1) - Requestsreplies between client and application and (2) - Queriesreplies
tofrom the database 36
56 Classification of an IfcColumn Here it is possible to see that the definition of a classifica-
tion reference list all the objects subject to such classification 38
57 Decision tree followed by the algorithm to create associations between products and work
results 39
58 Work flow to find the best work result code for a product 40
61 Project page for the ClinicOPO project after adding the code in HouseLx project A -
List of IfcbjectDefinitionrsquos extracted from the IFC file showing the pre-filled field for the
Omniclass Work Result from a recommendation based on previous projects 43
xiii
List of Tables
21 Mapping between the tables from OmniClass and Uniclass adapted from [4] 11
31 Applicability analysis of the systems for semantic clarity in BIM studied for this work 22
32 Applicability analysis of the recommender systems studied for this work The recommen-
dation quality is evaluated in High ( ) Medium (G) and Not Applicable(-) 23
xv
1Introduction
Contents11 Motivation 312 Methodology and Contributions 313 Document Organization 4
1
Building Information Models (BIM) have emerged as a way to promote the exchange of information
about a construction project between all of its stakeholders during its lifestyle Currently the Industry
Foundation Classes (IFC) exchange format is a BIM standard that contains information about build-
ing design planning or construction management Although IFC is very complete in some cases its
construction elements can have multiple definitions because of the need to represent objects and rela-
tionships for a wide range of Architecture Engineering and Construction (AEC) domains [1] For exam-
ple a precast floor slab a construction element can be defined in IFC as a rsquoBoundary Representation
bounding boxrsquo for clash detection as rsquosolid extrusionsrsquo of individual pieces for fabrication as rsquobuilding
entitiesrsquo without explicit geometry for production and delivery sequencing and as a rsquoslab aggregationrsquo
for other purposes All of these classes are distinct representations of the same construction element
and this happens because the rules for choosing the most suitable class due to the context of the project
are not defined Indeed studies show that without well-defined exchange model views the exchanges
are vulnerable to errors omissions contradictions and misinterpretations since they reduce or simplify
the information [2] In other words IFC lacks semantic clarity [3] One way to clarify the semantics of
IFC consists of mapping them to classification systems such as OmniClass [4] or UniClass [5] Thereby
classifying IFCrsquos information and addressing the multiple definitions problem This process which nowa-
days is mostly done manually is called semantic enrichment of the IFC model To perform semantic
enrichment manually one needs to combine multiple tables from a classification system and for projects
with similar profiles but different IFC models all the work has to be repeated since there is no way of
reusing past classifications from similar projects This task is tedious time consuming and error-prone
One of the applications for performing semantic enrichment on IFC models is for activity planning in
construction projects In various cases the same IfcElement [6] can have different activities assigned
to it depending on the profile of the project in question This problem can be addressed with a rec-
ommendation algorithm to help choose the most suitable assignments of activities depending on the
project
Two solutions have been proposed in literature for the semantic enrichment of IFC models see-
BIM [7] performs semantic enrichment to IFC models with a rule-based engine However it does not
make use of classification systems proposing a complex and not easily usable solution Object Profile
Manager [8] is an IFC-compliant object-CAD based and Web Ontology Language (OWL) ontology ap-
proach for semantic interoperability for BIM However Computer-Aided Design (CAD) modelling is out of
the scope of this work Both of these approaches aim at solving the problem this thesis will attempt to
solve but both are incomplete
In the field of recommendations two kinds of algorithms were explored rule based and clustering
With a rule-based algorithm such as Apriori [9] the goal is to find elements that have a high probability
of always belonging to the same set For example in a e-commerce platform the goal is to find the
items that are frequently bought together and create an association rule between them On the other
side with clustering or nearest neighbours algorithms the goal is to create groups based on a similarity
function From the previous example the goal here is to find customers with similar tastes by grouping
them together based on common bought items [9 10]
2
This works aims at validating the feasibility of using a recommender system BIMLink to simplify
and reduce the time spent while classifying complex information extracted from an IFC file For a given
project the system will have stored information from previous projects that are similar and will suggest
activity assignments that are similar The similarity of the projects is calculated according to the project
profile defined by its type and the region it is located in These suggestions will be based on a recom-
mendation algorithm that suggests the activities based on a calculated weight for each association This
weight is modified every time a suggestion is either correct or incorrect The algorithm will always aim to
suggest the associations with the higher weights according to previous similar projects The only tasks
the user needs to perform is validate the suggestions and add missing ones or delete incorrect ones
In order to evaluate the success of the system user tests will be conducted to conclude the usability
of the system and if it indeed does reduce the time spent while performing activity planning Also internal
performance tests on the algorithm will be performed to determine the quality of the recommendations
With this system it is expected that the time spent with activity planning will be reduced significantly
and the degree of complexity of this task will also decrease As for the semantic enrichment of the IFC
models it is expected that after performing the classifications in the case of this work performing the
assignment of activities to IFC elements the ambiguity will be extremely reduced and so will IFCrsquos lack
of semantic clarity
11 Motivation
When performing activity planning for a construction project there are two outcomes that are of
extreme importance for an efficient plan These are the resources that are needed for each activity as
well as the cost of each activity These measures will help determine the feasibility and success of the
construction project
To achieve the highest level of accuracy for the plan the activities need to be carefully assigned to
the right elements This can be an issue due to the fact that the chosen activity for a given construction
element depends on the context of the construction project For example one construction element
such as a door can be assigned one activity in one project such as assembling the door and another
activity for instance painting in another project If for some reason the wrong activity is assigned
the wrong construction element the resources and cost for that activity can be miscalculated This is
why a system that aids with activity planning reducing errors in activity assignment is needed which is
portrayed in Figure 11 This system uses the Omniclass Classification System by mapping Omniclass
Products to Omniclass Work results which represent the elements and activities respectively
12 Methodology and Contributions
This work has two main goals The first is to perform a literature review that intends to conclude if
there is currently any solution for Semantic Enrichment of IFC models with the Omniclass Classification
System The second goal of this work is to develop a solution that provides a way to semantically enrich
IFC models with the Omniclass Classification System while resorting to a recommendation algorithm so
3
Figure 11 The dashed lines represent the goal to achieve with the proposed solution a direct mapping betweenIFC Elements and activities extracted from OmniClass standard
that the time the user needs to spend enriching the model with activities is reduced To fulfill these goals
this work will be conducted as follows
bull Description of the concepts concerning BIM and recommendation algorithms
bull Analysis of the solutions used for Semantic Enrichment
bull Analysis of the most popular recommender systems
bull Identify in the literature the most suitable recommendation technique
bull Formalize an algorithm that fulfils the goal of the system
bull Develop an application BIMLink that fulfils the requirements of the system by using the formalized
algorithm to perform recommendations of the IFC files
bull Perform tests on the solution in order to validate the accuracy of the algorithm and feasibility of the
system
13 Document Organization
This manuscript is structured as follows Section 2 introduces the fundamental concepts of Building
Information Models as well as recommendation algorithms Section 3 details the related work in the
areas of BIM concerning Semantic Enrichment and recommender systems This section ends with an
analysis of the applicability of the presented systems to the problem to be solved Section 4 presents
a conceptual overview of the solution describing the relevant information from the IFC files as well as
formalizing the algorithm It also presents the domain model the requirements the system must fulfil
and the architecture of the solution Section 5 outlines the implementation details of the systemrsquos main
features Section 6 describes the validation plan and the results and finally Section 7 presents the
conclusions
4
2Concepts
Contents21 Building Information Modelling 622 Omniclass Classification System 1023 Ontologies 1224 Recommendation Algorithms 13
5
This section presents the concepts that are relevant for the understanding of the problem of this
work The first concept to be described is BIM 21 where its main features are presented Next Clas-
sification Systems 222 namely OmniClasses and their properties are discussed A brief overview of
Ontologies23 in the field of this work is presented Finally an analysis on Recommendation Algorithms
244
21 Building Information Modelling
BIM is an open technology for digital building modelling According to the National Institute of Building
Sciences (NIBS)1 BIM can be described as an improved planning design construction operation and
maintenance process using a standardized machine readable information model for each facility new or
old which contains all appropriate information created or gathered about that facility in a format usable
by all throughout its life cycle [11 12]
BIM was created as a solution for the need to simplify the process of exchanging information between
the activities in buildingrsquos AECO phases Now it is possible for example that the initial drafts made by
the architects are given to the engineers through digital means This contributes to savings on paper
support since the processes are fully digital and reduces the complexity inherent to the construction
process while making it faster
BIM also has the advantage of enabling collaboration among the stakeholders For instance the
architect adds sketches of the building as well as itrsquos equipment the structural engineer modifies it to
comply with physical principles the builder uses it to help on the construction phase and the building
manager bases on it to operate the facility properly It is clear that all the projectrsquos stakeholders can
contribute to the model according to each onersquos area of expertise on each phase of the building life cycle
Another important aspect is that BIM makes most of the processes related to buildings more agile saving
in bureaucracy and enabling error traceability For example using a tool to build the three-dimensional
model of the facility one can easily check for collisions between different systems or construction errors
like a tube being exposed to the outside of the building roof [11 13 pp 21-22 24]
211 BIM Tools Platforms and Environments
Having a single model containing the facilityrsquos data enables integration of a wide variety of tools that
work the model not only for editing it but also for extracting information useful to analyse the facil-
ity Some of them are design tools but there are others that consider a set of other functionality BIM
tools are used with the purpose of executing specific tasks considering the building model such as
cost estimation energy simulation errorclash detection and many others BIM platforms are used to
help develop BIMs providing an UI for designing building products Finally BIM environments combine
functionality from the two above providing integration between BIM tools and platforms inside an orga-
nization BIM environments are useful for automating the generation of BIM reports and data sets from
the building mode [11 70 71]
1httpwwwnibsorg
6
212 BIM Schemas
While the BIM model describes information regarding an instance of a building a BIM schema pro-
vides a structure to enable the representation of constructs defining how each element of the building
is described through elements properties and relationships In practice a BIM model is an instance of
a building that can be stored in a common format based on the structure described in the schema
BIM schemas can be internal or external On one hand an internal BIM schema represents the way
BIM tools model the information of the building their modelling constructs and knowledge On the other
hand an external BIM schema represents a common model independent from the applications used
to enable interoperability among them Furthermore an internal schema describes concepts regarding
a tool or project phase while an external schema is used for exchange among the several phases of the
project [14]
213 Model View Definitions
In order to adapt to the complexity that comes from the fact that BIM models contain information about
several aspects regarding the building from design to operation Model View Definitions (MVDs) define
subset models regarding fewer aspects of the building These views define a simpler and more specific
set of data for use in a given scenario when needed by the different stakeholders [15] BIM exchange
formats such as IFC are provided with a set of these MVD which define simpler models used in specific
applications or by specific stakeholders For each exchange scenario MVDs help define what is and
what is not in the scope of each exchange scenario Some formatsmdashCOBie for examplemdashare intended
to resolve the problem of handover by representing information typically required to be delivered from
one stage to another like from construction to operation [11 pp 120-122]
214 Exchange Formats
One of the most important properties of BIM tools and platforms is their interoperability and to
achieve that the information must flow from one to another in an independent format that is understood
by different applications In order to achieve this requirement exchange formats are developedThe first
information exchange formats Drawing eXchange Format (DXF) and Initial Graphic Exchange Spec-
ification (IGES) appeared in the 1980s and had only geometric data on building With the efforts on
developing BIM these evolved into formats like IFC which contain information about building design
planning or construction management or CIMsteel Integration Standard 2 (CIS2) for representing fab-
rication and structural engineering of steel Modelling languages like EXPRESS or EXtensible Markup
Language (XML) are used in these exchange formats so that information can be passed through a file
base exchange [11 pp 99-104]
7
Figure 21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of the IFC struc-ture Each schema relates to a different concern
215 Industry Foundation Classes
IFC is an open exchange format for sharing building data across the several stakeholders of its project
and operation which was created by buildingSMART2 (former International Alliance for Interoperability)
and as of March 2013 it is a published international standard ISO 16739 It is designed to model all
the existing data throughout the buildingrsquos life cycle and is the actual standard format for openBIM3
a software tool kit for developing BIM extensions IFC makes the model extensible and interoperable
by enabling the modeller to create new definitions since it is based on a meta model that broads the
definition of Class [16] In 2010 the IFC Certification 20 procedure was developed by BuildingSmart
for the IFC 2x3 Coordination View Version (CV20) which is an MVD intended to promote consistent and
reliable implementations of the IFC specification by many software vendors across multiple platforms [7]
IFCs are modelled recurring to the EXPRESS language to describe the classes mentioned above
These classes are comprised by the specification of an object and its attributes Each objectrsquos semantic
is described by said attributes These objects are connected by relations There are three main types
of classes object relation and resource classes Object classes represent the several entities inside
a building which are identified by a global identifier and a ownership identifier Each object class has
attributes that describe its details and the context where it is being used (such as topology geometry
etc) Relation classes represent the way elements connect to other objects There are many kinds
of relation classes that implement diverse types of interaction such as aggregation containment or
control The applicability of each relation is limited in other words relations specify which objects can
be bound to them Resource classes represent the attributes used to describe entities [17]
IFC structuremdashthat can be found in buildingSMARTrsquos website4 is composed of data schemas each
one relating to a different concern As Figure 21 depicts the data schemas divide in four conceptual
layers[18] Starting from the bottom there is the Resource Layer which represents individual business
concerns such as costs geometry or material The schemas in this layer are used to define properties
of classes from the remaining layers Next there is the Core Layer which is divided in Kernel and Core
extension schemas include the most abstract entities that are specified by the ones from the following
layers (Domain and Interoperability) The entities from Core layer are identified by a global ID and an
2httpwwwbuildingsmartorg3httpwwwopenbimorg4httpwwwbuildingsmart-techorgifcIFC4finalhtmlindexhtm
8
optional Ownership ID and historical data Following the Core Layer there is the Interoperability Layer
and contains the models related to concepts that are used by two or more models from the Domain
Layer This layer has the purpose of enabling inter-domain exchange and information sharing between
the upper levelrsquos classes Finally the highest layer is the Domain Layer which includes the entities that
concern to specializations of products processes or resources from a specific discipline
In the context of this work it is very important to understand how the information concerning a
BIM model is represented in an IFC schema in order to structure that information and feed it to the
recommendation algorithm As represented in Figure 21 the information that is of most relevance to
this work belongs to the resource layer It is in this layer that we find the elements the recommendation
algorithm will need These elements can be for example a door a column the floor in which an object
is in or the relation between a window and a wall To illustrate this a practical example [19] of a how a
window can be placed inside a wall is illustrated
To insert a window or door in a wall it is required to create an opening For this the following entities
are relevant IfcWall IfcOpeningElement IfcWindow These entities need to be connected via relative
placement and via topological connection Each physical object has a placement The placement is rep-
resented by IfcLocalPlacement and can be relative to an IfcLocalPlacement of another physical object
(in case of aggregation feature or filling relation) or of an spatial structure element This process of local
placements is recursive IfcWall IfcOpeningElement and IfcWindow each have their own IfcLocalPlace-
ment however the IfcLocalPlacement of IfcWindow is defined relatively to the IfcLocalPlacement of
IfcOpeningElement and the IfcLocalPlacement of IfcOpeningElement is defined relatively to the IfcLo-
calPlacement of IfcWall The IfcWall and IfcOpeningElement are connected via the objectified relation
IfcRelVoidsElement The IfcRelVoidsElement is connected with the wall via the relationship Relating-
BuildingElement and to the opening element via the relationship RelatedOpeningElement Through
the inverse relationships it is possible to traverse from wall to opening element and vice versa The
IfcOpeningElement and IfcWindow are connected via the objectified relation IfcRelFillsElement The
IfcRelFillsElement is connected with the opening element via the relationship RelatingOpeningElement
and to the window via the relationship RelatedBuildingElement Through the inverse relationships it is
possible to traverse from opening element to window and vice versa The geometric representation of
this example is presented in Figure 23
From the example described above it is clear that when performing activity planning it is very impor-
tant to have two classes of the IFC model well defined the IfcElements and their relationships because
although in different projects a window is used itrsquos relationship to the other elements is crucial to decide
which activity to associate to the window
216 COBie
COBie can be defined as a MVD5 over BIM In other words it consists on a subset of information from
the building Its main use is as an data exchange format by construction teams to handover operational
and maintenance information collected during AEC phases to the facility owner as construction finishes5httpdocsbuildingsmartallianceorgMVD_COBIE
9
Figure 22 Geometric representation of wall opening and window A - 3D representation of the object B - List ofobject parameters
such as equipment lists preventive maintenance schedules or warranty information It can be viewed
in spreadsheets or imported by specific tools for visualization COBie was created to eliminate the
excess of paper usage arising from the information delivered to the building manager when the project
finishes Moreover information took too much time to be compiled since some documents had to be
recreated causing the information to be delivered much later than the expected Once the building
model is constantly updated as the project goes by there is no need to recreate information about what
happened in a given phase and therefore it reaches facility managers quicker with minimum delay [20]
22 Omniclass Classification System
The OmniClass Construction Classification System 6 commonly known as OmniClass or OCCS is
a classification system for the construction industry which is created by the North American AEC indus-
try It is useful for many applications in the area of BIM from organizing reports and object libraries to
providing a way to roll up or drill down through data to get the information that meets the needs of the
projectrsquos stakeholders In simple terms OmniClass is a standard for organizing all construction informa-
tion This information is structured in the form of tables OmniClass bases its tables in other systems that
are not in use any more Those systems are MasterFormat [21] UniFormat [22] and EPIC (Electronic
Product Information Cooperation) for work results elements and products respectively OmniClass fol-
lows the international framework set out in ISOTR 14177 This document was later established as a
standard in ISO 12006-2 Organization of Information about Construction Works - Part 2 Framework for
Classification of Information
221 OmniClass Tables
OmniClass is designed to provide a standardized basis for classifying information and is intended to
be the means for organizing sorting and retrieving information and deriving relational computer applica-6httpwwwomniclassorg
10
Omniclass Uniclass
Table 11 ndash Construction Entities by Function Table D ndash FacilitiesTable 12 ndash Construction Entities by Form Table E ndash Construction EntitiesTable 13 ndash Spaces by Function Table F ndash SpacesTable 14 ndash Spaces by Form Table F ndash Spaces
Table 21 ndash Elements Table G ndash Elements for BuildingsTable H ndash Elements for Civil Engineering Works
Table 22 ndash Work Results Table J ndash Work Sections for BuildingsTable K ndash Work Sections for Civil Engineering Works
Table 23 ndash Products Table L ndash Construction ProductsTable 31 ndash Phases Table C ndash Management (in part)Table 32 ndash Services OmniClass Table B ndash Subject DisciplinesTable 33 ndash Disciplines Table B ndash Subject DisciplinesTable 34 ndash Organizational Roles Table C ndash Management (in part)Table 35 ndash Tools Table M ndash Construction AidsTable 36 ndash Information Table A ndash Forms of InformationTable 41 ndash Materials Table P ndash MaterialsTable 49 ndash Properties Table N ndash Properties and Characteristics
Table 21 Mapping between the tables from OmniClass and Uniclass adapted from [4]
tions To fulfil this the system consists of 15 hierarchical tables each representing a different aspect of
construction information The tables can be used individually or combined when a more complex type of
information needs to be classified [4] Tables 11-12 are used to organize construction results Tables 23
33 34 and 35 and to a lesser extent 36 and 41 are used to organize construction resources And finally
tables 31 and 32 are used to classify construction processes including the phases of construction entity
life cycles The 15 tables of Omniclass also map to the suggested tables in Section 4 of ISO 12002-2
The most important characteristic of these tables is that they are designed to work together to provide
extremely granular or specific classification Depending on the complexity of the object being classified
and the level of detail desired an object can have occurrences in one two or more tables For example
when trying to describe the workcost relationship that states that if a wall is battered 30 of labour
cost is added and if the wall is curved an extra 30 is added there is a need to combine table 23 where
we can find the products and table 22 where the work results are stated and reflect the activities to be
performed on such products
222 Uniclass
The Unified Classification System for the Construction Industry is the United Kingdomrsquos equivalent
to Omniclass From an early point there has always been a collaboration between the developers of
both OmniClass and Uniclass in order to promote a harmonized international standard The mapping
between the tables from OmniClass to Uniclass is presented in Table 21
23 Ontologies
An ontology is a formal representation of an abstracted view of a domain that describes the objects
concepts and relationships between them that holds in that domain for a specific purpose [23] There
11
Figure 23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L - ConstructionProducts (B) where it is clear the tree structure of Omniclass tables
are different classifications of ontologies based on parameters such as level of granularity their use
and types of relationships [24ndash27] The process of ontology modelling consists of modelling the con-
cepts and relationships in a specific field into formal ontologies ie in an ontology language with formal
syntax [28] Ontology engineering is useful for enabling interoperability across heterogeneous systems
because it provides the necessary semantics for many fields of knowlegde and facilitates knowledge
reuse sharing and integration [29 30] In the context of this work ontologies help with IFCrsquos lack of
semantic clarity in mapping entities and relationships which can result in the potential for multiple data
structures to represent the same information [3] The goal of ontology development is to remove am-
biguities associated with different viewpoints and formalize IFC definitions for a robust model exchange
solution [31] Also ontologies are one of the key technologies to deal with the semantic interoperablity
caused by the need to share semantics of BIM among project participants who do not necessarily share
the same definition of terminologies [8] Ontologies specify the semantic of terminology systems in a
well defined and unambiguous manner [32] by formally and explicitly representing shared unterstanding
about domain concepts and the relationships between concepts
ifcOWL emerges as a solution to the problem presented above by being an ontology based on
the industry foundation classes This ontology was created semi automatically by BuildingSmart by
lifting an EXPRESS schema into an ontological level by transforming the language constructs from
the schema into a terminology box definition using Web Ontology Language [33] Using OWL (Web
Ontology Language) [34] the intended meanings of domain technologies and relations are specified
through various OWL constructs which have implemented OWL semantics and logical axioms in an
easy-to-use way [8] Another approach to solve IFCrsquos lack of semantic clarity are the OmniClass tables
described in which present a structured source for an ontology
12
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Acknowledgments
First of all I would like to thank my parents for all the support and motivation during my academic
journey Without them none of it would have been possible I dedicate this work to them
I would like to thank Professor Paulo Carreira and Professor Antoacutenio Aguiar Costa for the support
the guidance to achieve this work and for believing in me and this workrsquos potential
I would also like to thank my boyfriend Ricardo Paradela for the unconditional support and motiva-
tion along the duration of this work
Last but not least I would like to thank my friends for their support in times of need
iii
Abstract
Activity planning in construction projects is time consuming and error prone This task is one among
many that is a practical application of performing semantic enrichment in IFC models Planning practice
demonstrates that a large number of the activities assigned to a project are determined by the projectrsquos
construction elements and profile Considering that ideally there should be a way of automatically
deriving the corresponding activities for a construction project The main hindrance to automation is that
the assignment of activities to the same building elements displays high variability and relies to a great
extent on tacit knowledge of the project planner regarding the project This work aims at implementing
and validating a system that performs automatic suggestion of activities given an IFC model of the
building Our solution harvests expert knowledge through a recommendation algorithm that collects
data from previous projects and learn when users review the assignments add missing ones or identify
incorrect ones The validation of this solution shows that the time used in activity planning is reduced
Keywords
BIM IFC Semantic Enrichment Recommendation Algorithms Omniclass
v
Resumo
O planeamento de actividades em projectos de construccedilatildeo eacute demorado e propenso a erros Esta
tarefa eacute uma das muitas aplicaccedilotildees praacuteticas do enriquecimento semacircntico de modelos IFC A praacutetica
do planeamento de actividades mostra que um grande nuacutemero das actividades atribuiacutedas a um projecto
satildeo determinadas pelos elementos de construccedilatildeo e perfil do projecto Posto isto idealmente deveria
haver uma forma automaacutetica de inferir as actividades correspondendes a um projecto de construccedilatildeo
O maior problema da automaccedilatildeo eacute que a atribuiccedilatildeo de actividades para os mesmos elements de con-
struccedilatildeo apresenta um grande niacutevel de variabilidade e depende em grande parte no conhecimento do
planeador do projecto em relaccedilatildeo ao mesmo Este trabalho tem como objectivo implementar e validar
um sistema que realiza sugestotildees automaacuteticas de actividades dado um modelo IFC de um projecto de
construccedilatildeo Esta soluccedilatildeo recolhe conhecimento especializado atraveacutes de um algoritmo de recomen-
daccedilatildeo que colecciona dados de projectos anteriores e aprende quando os utilizadores validam as
atribuiccedilotildees adicionam as que faltam ou corrigem as que estatildeo incorrectas
Palavras Chave
BIM IFC Enriquecimento Semacircntico Algoritmos de Recomendaccedilatildeo Omniclass
vii
Contents
1 Introduction 1
11 Motivation 3
12 Methodology and Contributions 3
13 Document Organization 4
2 Concepts 5
21 Building Information Modelling 6
211 BIM Tools Platforms and Environments 6
212 BIM Schemas 7
213 Model View Definitions 7
214 Exchange Formats 7
215 Industry Foundation Classes 8
216 COBie 9
22 Omniclass Classification System 10
221 OmniClass Tables 11
222 Uniclass 11
23 Ontologies 12
24 Recommendation Algorithms 13
241 Association Rules 13
242 K-Nearest Neighbours 13
243 K-Means Clustering 14
244 Evaluation of recommendation algorithms 14
3 Related Work 17
31 Building Information Models 18
310A SeeBIM for semantic enrichment 18
310B Object Profile Manager for semantic interoperability 19
32 Recommender Systems 19
320C Amazoncomrsquos Item-to-item collaborative filtering 20
320D eBaycomrsquos Feedback Profile 20
320E MovieFindercomrsquos Match Maker 20
320F Reelcomrsquos Movie Map 20
ix
320G HeyStaks 21
320H BibSonomy 21
33 Discussion 22
4 Solution 25
401 Solution Overview 26
41 Requirements 26
411 Use Case 27
412 Conceptual Overview 27
412A The relevant information from IFC 27
412B Formal definition of the recommendation algorithm 28
42 Conclusion 29
5 Implementation 31
51 Data Model 32
52 Architecture 32
521 The Model View Controller Pattern 32
522 Data and Domain Layers 32
523 Service Layer 35
53 Application Layer 35
531 Distributed Architecture 36
54 Main features 37
541 User profile and project creation 37
542 File upload and IFC Tools Project 37
543 File parsers 38
544 Recommendation algorithm and creation of associations 39
6 Validation 41
605 Methodology 42
605A Validating the algorithm 42
605B User satisfaction validation 42
606 Results 42
606A Recommendation Algorithm 42
606B User Satisfaction 43
7 Conclusion 45
71 Future Work 46
72 Final Remarks 46
Bibliography 49
Appendix A RESTful API A-1
x
Appendix B Validation Protocol B-1
Appendix C Satisfaction Questionnaire C-1
Appendix D Satisfaction Questionnaire Results D-1
xi
List of Figures
11 The dashed lines represent the goal to achieve with the proposed solution a direct map-
ping between IFC Elements and activities extracted from OmniClass standard 4
21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of
the IFC structure Each schema relates to a different concern 8
22 Geometric representation of wall opening and window A - 3D representation of the
object B - List of object parameters 10
23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L -
Construction Products (B) where it is clear the tree structure of Omniclass tables 12
31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of
execution that allows an IFC model to be enriched by the rule processing engine 18
41 BIMLinkrsquos use case 27
51 BIMLinkrsquos Data model 33
52 Layered architecture - conceptual layers on which the design on the application is based 34
53 MVC message flow 34
54 Sample route definition 35
55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of mes-
sages exchanged (1) - Requestsreplies between client and application and (2) - Queriesreplies
tofrom the database 36
56 Classification of an IfcColumn Here it is possible to see that the definition of a classifica-
tion reference list all the objects subject to such classification 38
57 Decision tree followed by the algorithm to create associations between products and work
results 39
58 Work flow to find the best work result code for a product 40
61 Project page for the ClinicOPO project after adding the code in HouseLx project A -
List of IfcbjectDefinitionrsquos extracted from the IFC file showing the pre-filled field for the
Omniclass Work Result from a recommendation based on previous projects 43
xiii
List of Tables
21 Mapping between the tables from OmniClass and Uniclass adapted from [4] 11
31 Applicability analysis of the systems for semantic clarity in BIM studied for this work 22
32 Applicability analysis of the recommender systems studied for this work The recommen-
dation quality is evaluated in High ( ) Medium (G) and Not Applicable(-) 23
xv
1Introduction
Contents11 Motivation 312 Methodology and Contributions 313 Document Organization 4
1
Building Information Models (BIM) have emerged as a way to promote the exchange of information
about a construction project between all of its stakeholders during its lifestyle Currently the Industry
Foundation Classes (IFC) exchange format is a BIM standard that contains information about build-
ing design planning or construction management Although IFC is very complete in some cases its
construction elements can have multiple definitions because of the need to represent objects and rela-
tionships for a wide range of Architecture Engineering and Construction (AEC) domains [1] For exam-
ple a precast floor slab a construction element can be defined in IFC as a rsquoBoundary Representation
bounding boxrsquo for clash detection as rsquosolid extrusionsrsquo of individual pieces for fabrication as rsquobuilding
entitiesrsquo without explicit geometry for production and delivery sequencing and as a rsquoslab aggregationrsquo
for other purposes All of these classes are distinct representations of the same construction element
and this happens because the rules for choosing the most suitable class due to the context of the project
are not defined Indeed studies show that without well-defined exchange model views the exchanges
are vulnerable to errors omissions contradictions and misinterpretations since they reduce or simplify
the information [2] In other words IFC lacks semantic clarity [3] One way to clarify the semantics of
IFC consists of mapping them to classification systems such as OmniClass [4] or UniClass [5] Thereby
classifying IFCrsquos information and addressing the multiple definitions problem This process which nowa-
days is mostly done manually is called semantic enrichment of the IFC model To perform semantic
enrichment manually one needs to combine multiple tables from a classification system and for projects
with similar profiles but different IFC models all the work has to be repeated since there is no way of
reusing past classifications from similar projects This task is tedious time consuming and error-prone
One of the applications for performing semantic enrichment on IFC models is for activity planning in
construction projects In various cases the same IfcElement [6] can have different activities assigned
to it depending on the profile of the project in question This problem can be addressed with a rec-
ommendation algorithm to help choose the most suitable assignments of activities depending on the
project
Two solutions have been proposed in literature for the semantic enrichment of IFC models see-
BIM [7] performs semantic enrichment to IFC models with a rule-based engine However it does not
make use of classification systems proposing a complex and not easily usable solution Object Profile
Manager [8] is an IFC-compliant object-CAD based and Web Ontology Language (OWL) ontology ap-
proach for semantic interoperability for BIM However Computer-Aided Design (CAD) modelling is out of
the scope of this work Both of these approaches aim at solving the problem this thesis will attempt to
solve but both are incomplete
In the field of recommendations two kinds of algorithms were explored rule based and clustering
With a rule-based algorithm such as Apriori [9] the goal is to find elements that have a high probability
of always belonging to the same set For example in a e-commerce platform the goal is to find the
items that are frequently bought together and create an association rule between them On the other
side with clustering or nearest neighbours algorithms the goal is to create groups based on a similarity
function From the previous example the goal here is to find customers with similar tastes by grouping
them together based on common bought items [9 10]
2
This works aims at validating the feasibility of using a recommender system BIMLink to simplify
and reduce the time spent while classifying complex information extracted from an IFC file For a given
project the system will have stored information from previous projects that are similar and will suggest
activity assignments that are similar The similarity of the projects is calculated according to the project
profile defined by its type and the region it is located in These suggestions will be based on a recom-
mendation algorithm that suggests the activities based on a calculated weight for each association This
weight is modified every time a suggestion is either correct or incorrect The algorithm will always aim to
suggest the associations with the higher weights according to previous similar projects The only tasks
the user needs to perform is validate the suggestions and add missing ones or delete incorrect ones
In order to evaluate the success of the system user tests will be conducted to conclude the usability
of the system and if it indeed does reduce the time spent while performing activity planning Also internal
performance tests on the algorithm will be performed to determine the quality of the recommendations
With this system it is expected that the time spent with activity planning will be reduced significantly
and the degree of complexity of this task will also decrease As for the semantic enrichment of the IFC
models it is expected that after performing the classifications in the case of this work performing the
assignment of activities to IFC elements the ambiguity will be extremely reduced and so will IFCrsquos lack
of semantic clarity
11 Motivation
When performing activity planning for a construction project there are two outcomes that are of
extreme importance for an efficient plan These are the resources that are needed for each activity as
well as the cost of each activity These measures will help determine the feasibility and success of the
construction project
To achieve the highest level of accuracy for the plan the activities need to be carefully assigned to
the right elements This can be an issue due to the fact that the chosen activity for a given construction
element depends on the context of the construction project For example one construction element
such as a door can be assigned one activity in one project such as assembling the door and another
activity for instance painting in another project If for some reason the wrong activity is assigned
the wrong construction element the resources and cost for that activity can be miscalculated This is
why a system that aids with activity planning reducing errors in activity assignment is needed which is
portrayed in Figure 11 This system uses the Omniclass Classification System by mapping Omniclass
Products to Omniclass Work results which represent the elements and activities respectively
12 Methodology and Contributions
This work has two main goals The first is to perform a literature review that intends to conclude if
there is currently any solution for Semantic Enrichment of IFC models with the Omniclass Classification
System The second goal of this work is to develop a solution that provides a way to semantically enrich
IFC models with the Omniclass Classification System while resorting to a recommendation algorithm so
3
Figure 11 The dashed lines represent the goal to achieve with the proposed solution a direct mapping betweenIFC Elements and activities extracted from OmniClass standard
that the time the user needs to spend enriching the model with activities is reduced To fulfill these goals
this work will be conducted as follows
bull Description of the concepts concerning BIM and recommendation algorithms
bull Analysis of the solutions used for Semantic Enrichment
bull Analysis of the most popular recommender systems
bull Identify in the literature the most suitable recommendation technique
bull Formalize an algorithm that fulfils the goal of the system
bull Develop an application BIMLink that fulfils the requirements of the system by using the formalized
algorithm to perform recommendations of the IFC files
bull Perform tests on the solution in order to validate the accuracy of the algorithm and feasibility of the
system
13 Document Organization
This manuscript is structured as follows Section 2 introduces the fundamental concepts of Building
Information Models as well as recommendation algorithms Section 3 details the related work in the
areas of BIM concerning Semantic Enrichment and recommender systems This section ends with an
analysis of the applicability of the presented systems to the problem to be solved Section 4 presents
a conceptual overview of the solution describing the relevant information from the IFC files as well as
formalizing the algorithm It also presents the domain model the requirements the system must fulfil
and the architecture of the solution Section 5 outlines the implementation details of the systemrsquos main
features Section 6 describes the validation plan and the results and finally Section 7 presents the
conclusions
4
2Concepts
Contents21 Building Information Modelling 622 Omniclass Classification System 1023 Ontologies 1224 Recommendation Algorithms 13
5
This section presents the concepts that are relevant for the understanding of the problem of this
work The first concept to be described is BIM 21 where its main features are presented Next Clas-
sification Systems 222 namely OmniClasses and their properties are discussed A brief overview of
Ontologies23 in the field of this work is presented Finally an analysis on Recommendation Algorithms
244
21 Building Information Modelling
BIM is an open technology for digital building modelling According to the National Institute of Building
Sciences (NIBS)1 BIM can be described as an improved planning design construction operation and
maintenance process using a standardized machine readable information model for each facility new or
old which contains all appropriate information created or gathered about that facility in a format usable
by all throughout its life cycle [11 12]
BIM was created as a solution for the need to simplify the process of exchanging information between
the activities in buildingrsquos AECO phases Now it is possible for example that the initial drafts made by
the architects are given to the engineers through digital means This contributes to savings on paper
support since the processes are fully digital and reduces the complexity inherent to the construction
process while making it faster
BIM also has the advantage of enabling collaboration among the stakeholders For instance the
architect adds sketches of the building as well as itrsquos equipment the structural engineer modifies it to
comply with physical principles the builder uses it to help on the construction phase and the building
manager bases on it to operate the facility properly It is clear that all the projectrsquos stakeholders can
contribute to the model according to each onersquos area of expertise on each phase of the building life cycle
Another important aspect is that BIM makes most of the processes related to buildings more agile saving
in bureaucracy and enabling error traceability For example using a tool to build the three-dimensional
model of the facility one can easily check for collisions between different systems or construction errors
like a tube being exposed to the outside of the building roof [11 13 pp 21-22 24]
211 BIM Tools Platforms and Environments
Having a single model containing the facilityrsquos data enables integration of a wide variety of tools that
work the model not only for editing it but also for extracting information useful to analyse the facil-
ity Some of them are design tools but there are others that consider a set of other functionality BIM
tools are used with the purpose of executing specific tasks considering the building model such as
cost estimation energy simulation errorclash detection and many others BIM platforms are used to
help develop BIMs providing an UI for designing building products Finally BIM environments combine
functionality from the two above providing integration between BIM tools and platforms inside an orga-
nization BIM environments are useful for automating the generation of BIM reports and data sets from
the building mode [11 70 71]
1httpwwwnibsorg
6
212 BIM Schemas
While the BIM model describes information regarding an instance of a building a BIM schema pro-
vides a structure to enable the representation of constructs defining how each element of the building
is described through elements properties and relationships In practice a BIM model is an instance of
a building that can be stored in a common format based on the structure described in the schema
BIM schemas can be internal or external On one hand an internal BIM schema represents the way
BIM tools model the information of the building their modelling constructs and knowledge On the other
hand an external BIM schema represents a common model independent from the applications used
to enable interoperability among them Furthermore an internal schema describes concepts regarding
a tool or project phase while an external schema is used for exchange among the several phases of the
project [14]
213 Model View Definitions
In order to adapt to the complexity that comes from the fact that BIM models contain information about
several aspects regarding the building from design to operation Model View Definitions (MVDs) define
subset models regarding fewer aspects of the building These views define a simpler and more specific
set of data for use in a given scenario when needed by the different stakeholders [15] BIM exchange
formats such as IFC are provided with a set of these MVD which define simpler models used in specific
applications or by specific stakeholders For each exchange scenario MVDs help define what is and
what is not in the scope of each exchange scenario Some formatsmdashCOBie for examplemdashare intended
to resolve the problem of handover by representing information typically required to be delivered from
one stage to another like from construction to operation [11 pp 120-122]
214 Exchange Formats
One of the most important properties of BIM tools and platforms is their interoperability and to
achieve that the information must flow from one to another in an independent format that is understood
by different applications In order to achieve this requirement exchange formats are developedThe first
information exchange formats Drawing eXchange Format (DXF) and Initial Graphic Exchange Spec-
ification (IGES) appeared in the 1980s and had only geometric data on building With the efforts on
developing BIM these evolved into formats like IFC which contain information about building design
planning or construction management or CIMsteel Integration Standard 2 (CIS2) for representing fab-
rication and structural engineering of steel Modelling languages like EXPRESS or EXtensible Markup
Language (XML) are used in these exchange formats so that information can be passed through a file
base exchange [11 pp 99-104]
7
Figure 21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of the IFC struc-ture Each schema relates to a different concern
215 Industry Foundation Classes
IFC is an open exchange format for sharing building data across the several stakeholders of its project
and operation which was created by buildingSMART2 (former International Alliance for Interoperability)
and as of March 2013 it is a published international standard ISO 16739 It is designed to model all
the existing data throughout the buildingrsquos life cycle and is the actual standard format for openBIM3
a software tool kit for developing BIM extensions IFC makes the model extensible and interoperable
by enabling the modeller to create new definitions since it is based on a meta model that broads the
definition of Class [16] In 2010 the IFC Certification 20 procedure was developed by BuildingSmart
for the IFC 2x3 Coordination View Version (CV20) which is an MVD intended to promote consistent and
reliable implementations of the IFC specification by many software vendors across multiple platforms [7]
IFCs are modelled recurring to the EXPRESS language to describe the classes mentioned above
These classes are comprised by the specification of an object and its attributes Each objectrsquos semantic
is described by said attributes These objects are connected by relations There are three main types
of classes object relation and resource classes Object classes represent the several entities inside
a building which are identified by a global identifier and a ownership identifier Each object class has
attributes that describe its details and the context where it is being used (such as topology geometry
etc) Relation classes represent the way elements connect to other objects There are many kinds
of relation classes that implement diverse types of interaction such as aggregation containment or
control The applicability of each relation is limited in other words relations specify which objects can
be bound to them Resource classes represent the attributes used to describe entities [17]
IFC structuremdashthat can be found in buildingSMARTrsquos website4 is composed of data schemas each
one relating to a different concern As Figure 21 depicts the data schemas divide in four conceptual
layers[18] Starting from the bottom there is the Resource Layer which represents individual business
concerns such as costs geometry or material The schemas in this layer are used to define properties
of classes from the remaining layers Next there is the Core Layer which is divided in Kernel and Core
extension schemas include the most abstract entities that are specified by the ones from the following
layers (Domain and Interoperability) The entities from Core layer are identified by a global ID and an
2httpwwwbuildingsmartorg3httpwwwopenbimorg4httpwwwbuildingsmart-techorgifcIFC4finalhtmlindexhtm
8
optional Ownership ID and historical data Following the Core Layer there is the Interoperability Layer
and contains the models related to concepts that are used by two or more models from the Domain
Layer This layer has the purpose of enabling inter-domain exchange and information sharing between
the upper levelrsquos classes Finally the highest layer is the Domain Layer which includes the entities that
concern to specializations of products processes or resources from a specific discipline
In the context of this work it is very important to understand how the information concerning a
BIM model is represented in an IFC schema in order to structure that information and feed it to the
recommendation algorithm As represented in Figure 21 the information that is of most relevance to
this work belongs to the resource layer It is in this layer that we find the elements the recommendation
algorithm will need These elements can be for example a door a column the floor in which an object
is in or the relation between a window and a wall To illustrate this a practical example [19] of a how a
window can be placed inside a wall is illustrated
To insert a window or door in a wall it is required to create an opening For this the following entities
are relevant IfcWall IfcOpeningElement IfcWindow These entities need to be connected via relative
placement and via topological connection Each physical object has a placement The placement is rep-
resented by IfcLocalPlacement and can be relative to an IfcLocalPlacement of another physical object
(in case of aggregation feature or filling relation) or of an spatial structure element This process of local
placements is recursive IfcWall IfcOpeningElement and IfcWindow each have their own IfcLocalPlace-
ment however the IfcLocalPlacement of IfcWindow is defined relatively to the IfcLocalPlacement of
IfcOpeningElement and the IfcLocalPlacement of IfcOpeningElement is defined relatively to the IfcLo-
calPlacement of IfcWall The IfcWall and IfcOpeningElement are connected via the objectified relation
IfcRelVoidsElement The IfcRelVoidsElement is connected with the wall via the relationship Relating-
BuildingElement and to the opening element via the relationship RelatedOpeningElement Through
the inverse relationships it is possible to traverse from wall to opening element and vice versa The
IfcOpeningElement and IfcWindow are connected via the objectified relation IfcRelFillsElement The
IfcRelFillsElement is connected with the opening element via the relationship RelatingOpeningElement
and to the window via the relationship RelatedBuildingElement Through the inverse relationships it is
possible to traverse from opening element to window and vice versa The geometric representation of
this example is presented in Figure 23
From the example described above it is clear that when performing activity planning it is very impor-
tant to have two classes of the IFC model well defined the IfcElements and their relationships because
although in different projects a window is used itrsquos relationship to the other elements is crucial to decide
which activity to associate to the window
216 COBie
COBie can be defined as a MVD5 over BIM In other words it consists on a subset of information from
the building Its main use is as an data exchange format by construction teams to handover operational
and maintenance information collected during AEC phases to the facility owner as construction finishes5httpdocsbuildingsmartallianceorgMVD_COBIE
9
Figure 22 Geometric representation of wall opening and window A - 3D representation of the object B - List ofobject parameters
such as equipment lists preventive maintenance schedules or warranty information It can be viewed
in spreadsheets or imported by specific tools for visualization COBie was created to eliminate the
excess of paper usage arising from the information delivered to the building manager when the project
finishes Moreover information took too much time to be compiled since some documents had to be
recreated causing the information to be delivered much later than the expected Once the building
model is constantly updated as the project goes by there is no need to recreate information about what
happened in a given phase and therefore it reaches facility managers quicker with minimum delay [20]
22 Omniclass Classification System
The OmniClass Construction Classification System 6 commonly known as OmniClass or OCCS is
a classification system for the construction industry which is created by the North American AEC indus-
try It is useful for many applications in the area of BIM from organizing reports and object libraries to
providing a way to roll up or drill down through data to get the information that meets the needs of the
projectrsquos stakeholders In simple terms OmniClass is a standard for organizing all construction informa-
tion This information is structured in the form of tables OmniClass bases its tables in other systems that
are not in use any more Those systems are MasterFormat [21] UniFormat [22] and EPIC (Electronic
Product Information Cooperation) for work results elements and products respectively OmniClass fol-
lows the international framework set out in ISOTR 14177 This document was later established as a
standard in ISO 12006-2 Organization of Information about Construction Works - Part 2 Framework for
Classification of Information
221 OmniClass Tables
OmniClass is designed to provide a standardized basis for classifying information and is intended to
be the means for organizing sorting and retrieving information and deriving relational computer applica-6httpwwwomniclassorg
10
Omniclass Uniclass
Table 11 ndash Construction Entities by Function Table D ndash FacilitiesTable 12 ndash Construction Entities by Form Table E ndash Construction EntitiesTable 13 ndash Spaces by Function Table F ndash SpacesTable 14 ndash Spaces by Form Table F ndash Spaces
Table 21 ndash Elements Table G ndash Elements for BuildingsTable H ndash Elements for Civil Engineering Works
Table 22 ndash Work Results Table J ndash Work Sections for BuildingsTable K ndash Work Sections for Civil Engineering Works
Table 23 ndash Products Table L ndash Construction ProductsTable 31 ndash Phases Table C ndash Management (in part)Table 32 ndash Services OmniClass Table B ndash Subject DisciplinesTable 33 ndash Disciplines Table B ndash Subject DisciplinesTable 34 ndash Organizational Roles Table C ndash Management (in part)Table 35 ndash Tools Table M ndash Construction AidsTable 36 ndash Information Table A ndash Forms of InformationTable 41 ndash Materials Table P ndash MaterialsTable 49 ndash Properties Table N ndash Properties and Characteristics
Table 21 Mapping between the tables from OmniClass and Uniclass adapted from [4]
tions To fulfil this the system consists of 15 hierarchical tables each representing a different aspect of
construction information The tables can be used individually or combined when a more complex type of
information needs to be classified [4] Tables 11-12 are used to organize construction results Tables 23
33 34 and 35 and to a lesser extent 36 and 41 are used to organize construction resources And finally
tables 31 and 32 are used to classify construction processes including the phases of construction entity
life cycles The 15 tables of Omniclass also map to the suggested tables in Section 4 of ISO 12002-2
The most important characteristic of these tables is that they are designed to work together to provide
extremely granular or specific classification Depending on the complexity of the object being classified
and the level of detail desired an object can have occurrences in one two or more tables For example
when trying to describe the workcost relationship that states that if a wall is battered 30 of labour
cost is added and if the wall is curved an extra 30 is added there is a need to combine table 23 where
we can find the products and table 22 where the work results are stated and reflect the activities to be
performed on such products
222 Uniclass
The Unified Classification System for the Construction Industry is the United Kingdomrsquos equivalent
to Omniclass From an early point there has always been a collaboration between the developers of
both OmniClass and Uniclass in order to promote a harmonized international standard The mapping
between the tables from OmniClass to Uniclass is presented in Table 21
23 Ontologies
An ontology is a formal representation of an abstracted view of a domain that describes the objects
concepts and relationships between them that holds in that domain for a specific purpose [23] There
11
Figure 23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L - ConstructionProducts (B) where it is clear the tree structure of Omniclass tables
are different classifications of ontologies based on parameters such as level of granularity their use
and types of relationships [24ndash27] The process of ontology modelling consists of modelling the con-
cepts and relationships in a specific field into formal ontologies ie in an ontology language with formal
syntax [28] Ontology engineering is useful for enabling interoperability across heterogeneous systems
because it provides the necessary semantics for many fields of knowlegde and facilitates knowledge
reuse sharing and integration [29 30] In the context of this work ontologies help with IFCrsquos lack of
semantic clarity in mapping entities and relationships which can result in the potential for multiple data
structures to represent the same information [3] The goal of ontology development is to remove am-
biguities associated with different viewpoints and formalize IFC definitions for a robust model exchange
solution [31] Also ontologies are one of the key technologies to deal with the semantic interoperablity
caused by the need to share semantics of BIM among project participants who do not necessarily share
the same definition of terminologies [8] Ontologies specify the semantic of terminology systems in a
well defined and unambiguous manner [32] by formally and explicitly representing shared unterstanding
about domain concepts and the relationships between concepts
ifcOWL emerges as a solution to the problem presented above by being an ontology based on
the industry foundation classes This ontology was created semi automatically by BuildingSmart by
lifting an EXPRESS schema into an ontological level by transforming the language constructs from
the schema into a terminology box definition using Web Ontology Language [33] Using OWL (Web
Ontology Language) [34] the intended meanings of domain technologies and relations are specified
through various OWL constructs which have implemented OWL semantics and logical axioms in an
easy-to-use way [8] Another approach to solve IFCrsquos lack of semantic clarity are the OmniClass tables
described in which present a structured source for an ontology
12
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Abstract
Activity planning in construction projects is time consuming and error prone This task is one among
many that is a practical application of performing semantic enrichment in IFC models Planning practice
demonstrates that a large number of the activities assigned to a project are determined by the projectrsquos
construction elements and profile Considering that ideally there should be a way of automatically
deriving the corresponding activities for a construction project The main hindrance to automation is that
the assignment of activities to the same building elements displays high variability and relies to a great
extent on tacit knowledge of the project planner regarding the project This work aims at implementing
and validating a system that performs automatic suggestion of activities given an IFC model of the
building Our solution harvests expert knowledge through a recommendation algorithm that collects
data from previous projects and learn when users review the assignments add missing ones or identify
incorrect ones The validation of this solution shows that the time used in activity planning is reduced
Keywords
BIM IFC Semantic Enrichment Recommendation Algorithms Omniclass
v
Resumo
O planeamento de actividades em projectos de construccedilatildeo eacute demorado e propenso a erros Esta
tarefa eacute uma das muitas aplicaccedilotildees praacuteticas do enriquecimento semacircntico de modelos IFC A praacutetica
do planeamento de actividades mostra que um grande nuacutemero das actividades atribuiacutedas a um projecto
satildeo determinadas pelos elementos de construccedilatildeo e perfil do projecto Posto isto idealmente deveria
haver uma forma automaacutetica de inferir as actividades correspondendes a um projecto de construccedilatildeo
O maior problema da automaccedilatildeo eacute que a atribuiccedilatildeo de actividades para os mesmos elements de con-
struccedilatildeo apresenta um grande niacutevel de variabilidade e depende em grande parte no conhecimento do
planeador do projecto em relaccedilatildeo ao mesmo Este trabalho tem como objectivo implementar e validar
um sistema que realiza sugestotildees automaacuteticas de actividades dado um modelo IFC de um projecto de
construccedilatildeo Esta soluccedilatildeo recolhe conhecimento especializado atraveacutes de um algoritmo de recomen-
daccedilatildeo que colecciona dados de projectos anteriores e aprende quando os utilizadores validam as
atribuiccedilotildees adicionam as que faltam ou corrigem as que estatildeo incorrectas
Palavras Chave
BIM IFC Enriquecimento Semacircntico Algoritmos de Recomendaccedilatildeo Omniclass
vii
Contents
1 Introduction 1
11 Motivation 3
12 Methodology and Contributions 3
13 Document Organization 4
2 Concepts 5
21 Building Information Modelling 6
211 BIM Tools Platforms and Environments 6
212 BIM Schemas 7
213 Model View Definitions 7
214 Exchange Formats 7
215 Industry Foundation Classes 8
216 COBie 9
22 Omniclass Classification System 10
221 OmniClass Tables 11
222 Uniclass 11
23 Ontologies 12
24 Recommendation Algorithms 13
241 Association Rules 13
242 K-Nearest Neighbours 13
243 K-Means Clustering 14
244 Evaluation of recommendation algorithms 14
3 Related Work 17
31 Building Information Models 18
310A SeeBIM for semantic enrichment 18
310B Object Profile Manager for semantic interoperability 19
32 Recommender Systems 19
320C Amazoncomrsquos Item-to-item collaborative filtering 20
320D eBaycomrsquos Feedback Profile 20
320E MovieFindercomrsquos Match Maker 20
320F Reelcomrsquos Movie Map 20
ix
320G HeyStaks 21
320H BibSonomy 21
33 Discussion 22
4 Solution 25
401 Solution Overview 26
41 Requirements 26
411 Use Case 27
412 Conceptual Overview 27
412A The relevant information from IFC 27
412B Formal definition of the recommendation algorithm 28
42 Conclusion 29
5 Implementation 31
51 Data Model 32
52 Architecture 32
521 The Model View Controller Pattern 32
522 Data and Domain Layers 32
523 Service Layer 35
53 Application Layer 35
531 Distributed Architecture 36
54 Main features 37
541 User profile and project creation 37
542 File upload and IFC Tools Project 37
543 File parsers 38
544 Recommendation algorithm and creation of associations 39
6 Validation 41
605 Methodology 42
605A Validating the algorithm 42
605B User satisfaction validation 42
606 Results 42
606A Recommendation Algorithm 42
606B User Satisfaction 43
7 Conclusion 45
71 Future Work 46
72 Final Remarks 46
Bibliography 49
Appendix A RESTful API A-1
x
Appendix B Validation Protocol B-1
Appendix C Satisfaction Questionnaire C-1
Appendix D Satisfaction Questionnaire Results D-1
xi
List of Figures
11 The dashed lines represent the goal to achieve with the proposed solution a direct map-
ping between IFC Elements and activities extracted from OmniClass standard 4
21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of
the IFC structure Each schema relates to a different concern 8
22 Geometric representation of wall opening and window A - 3D representation of the
object B - List of object parameters 10
23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L -
Construction Products (B) where it is clear the tree structure of Omniclass tables 12
31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of
execution that allows an IFC model to be enriched by the rule processing engine 18
41 BIMLinkrsquos use case 27
51 BIMLinkrsquos Data model 33
52 Layered architecture - conceptual layers on which the design on the application is based 34
53 MVC message flow 34
54 Sample route definition 35
55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of mes-
sages exchanged (1) - Requestsreplies between client and application and (2) - Queriesreplies
tofrom the database 36
56 Classification of an IfcColumn Here it is possible to see that the definition of a classifica-
tion reference list all the objects subject to such classification 38
57 Decision tree followed by the algorithm to create associations between products and work
results 39
58 Work flow to find the best work result code for a product 40
61 Project page for the ClinicOPO project after adding the code in HouseLx project A -
List of IfcbjectDefinitionrsquos extracted from the IFC file showing the pre-filled field for the
Omniclass Work Result from a recommendation based on previous projects 43
xiii
List of Tables
21 Mapping between the tables from OmniClass and Uniclass adapted from [4] 11
31 Applicability analysis of the systems for semantic clarity in BIM studied for this work 22
32 Applicability analysis of the recommender systems studied for this work The recommen-
dation quality is evaluated in High ( ) Medium (G) and Not Applicable(-) 23
xv
1Introduction
Contents11 Motivation 312 Methodology and Contributions 313 Document Organization 4
1
Building Information Models (BIM) have emerged as a way to promote the exchange of information
about a construction project between all of its stakeholders during its lifestyle Currently the Industry
Foundation Classes (IFC) exchange format is a BIM standard that contains information about build-
ing design planning or construction management Although IFC is very complete in some cases its
construction elements can have multiple definitions because of the need to represent objects and rela-
tionships for a wide range of Architecture Engineering and Construction (AEC) domains [1] For exam-
ple a precast floor slab a construction element can be defined in IFC as a rsquoBoundary Representation
bounding boxrsquo for clash detection as rsquosolid extrusionsrsquo of individual pieces for fabrication as rsquobuilding
entitiesrsquo without explicit geometry for production and delivery sequencing and as a rsquoslab aggregationrsquo
for other purposes All of these classes are distinct representations of the same construction element
and this happens because the rules for choosing the most suitable class due to the context of the project
are not defined Indeed studies show that without well-defined exchange model views the exchanges
are vulnerable to errors omissions contradictions and misinterpretations since they reduce or simplify
the information [2] In other words IFC lacks semantic clarity [3] One way to clarify the semantics of
IFC consists of mapping them to classification systems such as OmniClass [4] or UniClass [5] Thereby
classifying IFCrsquos information and addressing the multiple definitions problem This process which nowa-
days is mostly done manually is called semantic enrichment of the IFC model To perform semantic
enrichment manually one needs to combine multiple tables from a classification system and for projects
with similar profiles but different IFC models all the work has to be repeated since there is no way of
reusing past classifications from similar projects This task is tedious time consuming and error-prone
One of the applications for performing semantic enrichment on IFC models is for activity planning in
construction projects In various cases the same IfcElement [6] can have different activities assigned
to it depending on the profile of the project in question This problem can be addressed with a rec-
ommendation algorithm to help choose the most suitable assignments of activities depending on the
project
Two solutions have been proposed in literature for the semantic enrichment of IFC models see-
BIM [7] performs semantic enrichment to IFC models with a rule-based engine However it does not
make use of classification systems proposing a complex and not easily usable solution Object Profile
Manager [8] is an IFC-compliant object-CAD based and Web Ontology Language (OWL) ontology ap-
proach for semantic interoperability for BIM However Computer-Aided Design (CAD) modelling is out of
the scope of this work Both of these approaches aim at solving the problem this thesis will attempt to
solve but both are incomplete
In the field of recommendations two kinds of algorithms were explored rule based and clustering
With a rule-based algorithm such as Apriori [9] the goal is to find elements that have a high probability
of always belonging to the same set For example in a e-commerce platform the goal is to find the
items that are frequently bought together and create an association rule between them On the other
side with clustering or nearest neighbours algorithms the goal is to create groups based on a similarity
function From the previous example the goal here is to find customers with similar tastes by grouping
them together based on common bought items [9 10]
2
This works aims at validating the feasibility of using a recommender system BIMLink to simplify
and reduce the time spent while classifying complex information extracted from an IFC file For a given
project the system will have stored information from previous projects that are similar and will suggest
activity assignments that are similar The similarity of the projects is calculated according to the project
profile defined by its type and the region it is located in These suggestions will be based on a recom-
mendation algorithm that suggests the activities based on a calculated weight for each association This
weight is modified every time a suggestion is either correct or incorrect The algorithm will always aim to
suggest the associations with the higher weights according to previous similar projects The only tasks
the user needs to perform is validate the suggestions and add missing ones or delete incorrect ones
In order to evaluate the success of the system user tests will be conducted to conclude the usability
of the system and if it indeed does reduce the time spent while performing activity planning Also internal
performance tests on the algorithm will be performed to determine the quality of the recommendations
With this system it is expected that the time spent with activity planning will be reduced significantly
and the degree of complexity of this task will also decrease As for the semantic enrichment of the IFC
models it is expected that after performing the classifications in the case of this work performing the
assignment of activities to IFC elements the ambiguity will be extremely reduced and so will IFCrsquos lack
of semantic clarity
11 Motivation
When performing activity planning for a construction project there are two outcomes that are of
extreme importance for an efficient plan These are the resources that are needed for each activity as
well as the cost of each activity These measures will help determine the feasibility and success of the
construction project
To achieve the highest level of accuracy for the plan the activities need to be carefully assigned to
the right elements This can be an issue due to the fact that the chosen activity for a given construction
element depends on the context of the construction project For example one construction element
such as a door can be assigned one activity in one project such as assembling the door and another
activity for instance painting in another project If for some reason the wrong activity is assigned
the wrong construction element the resources and cost for that activity can be miscalculated This is
why a system that aids with activity planning reducing errors in activity assignment is needed which is
portrayed in Figure 11 This system uses the Omniclass Classification System by mapping Omniclass
Products to Omniclass Work results which represent the elements and activities respectively
12 Methodology and Contributions
This work has two main goals The first is to perform a literature review that intends to conclude if
there is currently any solution for Semantic Enrichment of IFC models with the Omniclass Classification
System The second goal of this work is to develop a solution that provides a way to semantically enrich
IFC models with the Omniclass Classification System while resorting to a recommendation algorithm so
3
Figure 11 The dashed lines represent the goal to achieve with the proposed solution a direct mapping betweenIFC Elements and activities extracted from OmniClass standard
that the time the user needs to spend enriching the model with activities is reduced To fulfill these goals
this work will be conducted as follows
bull Description of the concepts concerning BIM and recommendation algorithms
bull Analysis of the solutions used for Semantic Enrichment
bull Analysis of the most popular recommender systems
bull Identify in the literature the most suitable recommendation technique
bull Formalize an algorithm that fulfils the goal of the system
bull Develop an application BIMLink that fulfils the requirements of the system by using the formalized
algorithm to perform recommendations of the IFC files
bull Perform tests on the solution in order to validate the accuracy of the algorithm and feasibility of the
system
13 Document Organization
This manuscript is structured as follows Section 2 introduces the fundamental concepts of Building
Information Models as well as recommendation algorithms Section 3 details the related work in the
areas of BIM concerning Semantic Enrichment and recommender systems This section ends with an
analysis of the applicability of the presented systems to the problem to be solved Section 4 presents
a conceptual overview of the solution describing the relevant information from the IFC files as well as
formalizing the algorithm It also presents the domain model the requirements the system must fulfil
and the architecture of the solution Section 5 outlines the implementation details of the systemrsquos main
features Section 6 describes the validation plan and the results and finally Section 7 presents the
conclusions
4
2Concepts
Contents21 Building Information Modelling 622 Omniclass Classification System 1023 Ontologies 1224 Recommendation Algorithms 13
5
This section presents the concepts that are relevant for the understanding of the problem of this
work The first concept to be described is BIM 21 where its main features are presented Next Clas-
sification Systems 222 namely OmniClasses and their properties are discussed A brief overview of
Ontologies23 in the field of this work is presented Finally an analysis on Recommendation Algorithms
244
21 Building Information Modelling
BIM is an open technology for digital building modelling According to the National Institute of Building
Sciences (NIBS)1 BIM can be described as an improved planning design construction operation and
maintenance process using a standardized machine readable information model for each facility new or
old which contains all appropriate information created or gathered about that facility in a format usable
by all throughout its life cycle [11 12]
BIM was created as a solution for the need to simplify the process of exchanging information between
the activities in buildingrsquos AECO phases Now it is possible for example that the initial drafts made by
the architects are given to the engineers through digital means This contributes to savings on paper
support since the processes are fully digital and reduces the complexity inherent to the construction
process while making it faster
BIM also has the advantage of enabling collaboration among the stakeholders For instance the
architect adds sketches of the building as well as itrsquos equipment the structural engineer modifies it to
comply with physical principles the builder uses it to help on the construction phase and the building
manager bases on it to operate the facility properly It is clear that all the projectrsquos stakeholders can
contribute to the model according to each onersquos area of expertise on each phase of the building life cycle
Another important aspect is that BIM makes most of the processes related to buildings more agile saving
in bureaucracy and enabling error traceability For example using a tool to build the three-dimensional
model of the facility one can easily check for collisions between different systems or construction errors
like a tube being exposed to the outside of the building roof [11 13 pp 21-22 24]
211 BIM Tools Platforms and Environments
Having a single model containing the facilityrsquos data enables integration of a wide variety of tools that
work the model not only for editing it but also for extracting information useful to analyse the facil-
ity Some of them are design tools but there are others that consider a set of other functionality BIM
tools are used with the purpose of executing specific tasks considering the building model such as
cost estimation energy simulation errorclash detection and many others BIM platforms are used to
help develop BIMs providing an UI for designing building products Finally BIM environments combine
functionality from the two above providing integration between BIM tools and platforms inside an orga-
nization BIM environments are useful for automating the generation of BIM reports and data sets from
the building mode [11 70 71]
1httpwwwnibsorg
6
212 BIM Schemas
While the BIM model describes information regarding an instance of a building a BIM schema pro-
vides a structure to enable the representation of constructs defining how each element of the building
is described through elements properties and relationships In practice a BIM model is an instance of
a building that can be stored in a common format based on the structure described in the schema
BIM schemas can be internal or external On one hand an internal BIM schema represents the way
BIM tools model the information of the building their modelling constructs and knowledge On the other
hand an external BIM schema represents a common model independent from the applications used
to enable interoperability among them Furthermore an internal schema describes concepts regarding
a tool or project phase while an external schema is used for exchange among the several phases of the
project [14]
213 Model View Definitions
In order to adapt to the complexity that comes from the fact that BIM models contain information about
several aspects regarding the building from design to operation Model View Definitions (MVDs) define
subset models regarding fewer aspects of the building These views define a simpler and more specific
set of data for use in a given scenario when needed by the different stakeholders [15] BIM exchange
formats such as IFC are provided with a set of these MVD which define simpler models used in specific
applications or by specific stakeholders For each exchange scenario MVDs help define what is and
what is not in the scope of each exchange scenario Some formatsmdashCOBie for examplemdashare intended
to resolve the problem of handover by representing information typically required to be delivered from
one stage to another like from construction to operation [11 pp 120-122]
214 Exchange Formats
One of the most important properties of BIM tools and platforms is their interoperability and to
achieve that the information must flow from one to another in an independent format that is understood
by different applications In order to achieve this requirement exchange formats are developedThe first
information exchange formats Drawing eXchange Format (DXF) and Initial Graphic Exchange Spec-
ification (IGES) appeared in the 1980s and had only geometric data on building With the efforts on
developing BIM these evolved into formats like IFC which contain information about building design
planning or construction management or CIMsteel Integration Standard 2 (CIS2) for representing fab-
rication and structural engineering of steel Modelling languages like EXPRESS or EXtensible Markup
Language (XML) are used in these exchange formats so that information can be passed through a file
base exchange [11 pp 99-104]
7
Figure 21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of the IFC struc-ture Each schema relates to a different concern
215 Industry Foundation Classes
IFC is an open exchange format for sharing building data across the several stakeholders of its project
and operation which was created by buildingSMART2 (former International Alliance for Interoperability)
and as of March 2013 it is a published international standard ISO 16739 It is designed to model all
the existing data throughout the buildingrsquos life cycle and is the actual standard format for openBIM3
a software tool kit for developing BIM extensions IFC makes the model extensible and interoperable
by enabling the modeller to create new definitions since it is based on a meta model that broads the
definition of Class [16] In 2010 the IFC Certification 20 procedure was developed by BuildingSmart
for the IFC 2x3 Coordination View Version (CV20) which is an MVD intended to promote consistent and
reliable implementations of the IFC specification by many software vendors across multiple platforms [7]
IFCs are modelled recurring to the EXPRESS language to describe the classes mentioned above
These classes are comprised by the specification of an object and its attributes Each objectrsquos semantic
is described by said attributes These objects are connected by relations There are three main types
of classes object relation and resource classes Object classes represent the several entities inside
a building which are identified by a global identifier and a ownership identifier Each object class has
attributes that describe its details and the context where it is being used (such as topology geometry
etc) Relation classes represent the way elements connect to other objects There are many kinds
of relation classes that implement diverse types of interaction such as aggregation containment or
control The applicability of each relation is limited in other words relations specify which objects can
be bound to them Resource classes represent the attributes used to describe entities [17]
IFC structuremdashthat can be found in buildingSMARTrsquos website4 is composed of data schemas each
one relating to a different concern As Figure 21 depicts the data schemas divide in four conceptual
layers[18] Starting from the bottom there is the Resource Layer which represents individual business
concerns such as costs geometry or material The schemas in this layer are used to define properties
of classes from the remaining layers Next there is the Core Layer which is divided in Kernel and Core
extension schemas include the most abstract entities that are specified by the ones from the following
layers (Domain and Interoperability) The entities from Core layer are identified by a global ID and an
2httpwwwbuildingsmartorg3httpwwwopenbimorg4httpwwwbuildingsmart-techorgifcIFC4finalhtmlindexhtm
8
optional Ownership ID and historical data Following the Core Layer there is the Interoperability Layer
and contains the models related to concepts that are used by two or more models from the Domain
Layer This layer has the purpose of enabling inter-domain exchange and information sharing between
the upper levelrsquos classes Finally the highest layer is the Domain Layer which includes the entities that
concern to specializations of products processes or resources from a specific discipline
In the context of this work it is very important to understand how the information concerning a
BIM model is represented in an IFC schema in order to structure that information and feed it to the
recommendation algorithm As represented in Figure 21 the information that is of most relevance to
this work belongs to the resource layer It is in this layer that we find the elements the recommendation
algorithm will need These elements can be for example a door a column the floor in which an object
is in or the relation between a window and a wall To illustrate this a practical example [19] of a how a
window can be placed inside a wall is illustrated
To insert a window or door in a wall it is required to create an opening For this the following entities
are relevant IfcWall IfcOpeningElement IfcWindow These entities need to be connected via relative
placement and via topological connection Each physical object has a placement The placement is rep-
resented by IfcLocalPlacement and can be relative to an IfcLocalPlacement of another physical object
(in case of aggregation feature or filling relation) or of an spatial structure element This process of local
placements is recursive IfcWall IfcOpeningElement and IfcWindow each have their own IfcLocalPlace-
ment however the IfcLocalPlacement of IfcWindow is defined relatively to the IfcLocalPlacement of
IfcOpeningElement and the IfcLocalPlacement of IfcOpeningElement is defined relatively to the IfcLo-
calPlacement of IfcWall The IfcWall and IfcOpeningElement are connected via the objectified relation
IfcRelVoidsElement The IfcRelVoidsElement is connected with the wall via the relationship Relating-
BuildingElement and to the opening element via the relationship RelatedOpeningElement Through
the inverse relationships it is possible to traverse from wall to opening element and vice versa The
IfcOpeningElement and IfcWindow are connected via the objectified relation IfcRelFillsElement The
IfcRelFillsElement is connected with the opening element via the relationship RelatingOpeningElement
and to the window via the relationship RelatedBuildingElement Through the inverse relationships it is
possible to traverse from opening element to window and vice versa The geometric representation of
this example is presented in Figure 23
From the example described above it is clear that when performing activity planning it is very impor-
tant to have two classes of the IFC model well defined the IfcElements and their relationships because
although in different projects a window is used itrsquos relationship to the other elements is crucial to decide
which activity to associate to the window
216 COBie
COBie can be defined as a MVD5 over BIM In other words it consists on a subset of information from
the building Its main use is as an data exchange format by construction teams to handover operational
and maintenance information collected during AEC phases to the facility owner as construction finishes5httpdocsbuildingsmartallianceorgMVD_COBIE
9
Figure 22 Geometric representation of wall opening and window A - 3D representation of the object B - List ofobject parameters
such as equipment lists preventive maintenance schedules or warranty information It can be viewed
in spreadsheets or imported by specific tools for visualization COBie was created to eliminate the
excess of paper usage arising from the information delivered to the building manager when the project
finishes Moreover information took too much time to be compiled since some documents had to be
recreated causing the information to be delivered much later than the expected Once the building
model is constantly updated as the project goes by there is no need to recreate information about what
happened in a given phase and therefore it reaches facility managers quicker with minimum delay [20]
22 Omniclass Classification System
The OmniClass Construction Classification System 6 commonly known as OmniClass or OCCS is
a classification system for the construction industry which is created by the North American AEC indus-
try It is useful for many applications in the area of BIM from organizing reports and object libraries to
providing a way to roll up or drill down through data to get the information that meets the needs of the
projectrsquos stakeholders In simple terms OmniClass is a standard for organizing all construction informa-
tion This information is structured in the form of tables OmniClass bases its tables in other systems that
are not in use any more Those systems are MasterFormat [21] UniFormat [22] and EPIC (Electronic
Product Information Cooperation) for work results elements and products respectively OmniClass fol-
lows the international framework set out in ISOTR 14177 This document was later established as a
standard in ISO 12006-2 Organization of Information about Construction Works - Part 2 Framework for
Classification of Information
221 OmniClass Tables
OmniClass is designed to provide a standardized basis for classifying information and is intended to
be the means for organizing sorting and retrieving information and deriving relational computer applica-6httpwwwomniclassorg
10
Omniclass Uniclass
Table 11 ndash Construction Entities by Function Table D ndash FacilitiesTable 12 ndash Construction Entities by Form Table E ndash Construction EntitiesTable 13 ndash Spaces by Function Table F ndash SpacesTable 14 ndash Spaces by Form Table F ndash Spaces
Table 21 ndash Elements Table G ndash Elements for BuildingsTable H ndash Elements for Civil Engineering Works
Table 22 ndash Work Results Table J ndash Work Sections for BuildingsTable K ndash Work Sections for Civil Engineering Works
Table 23 ndash Products Table L ndash Construction ProductsTable 31 ndash Phases Table C ndash Management (in part)Table 32 ndash Services OmniClass Table B ndash Subject DisciplinesTable 33 ndash Disciplines Table B ndash Subject DisciplinesTable 34 ndash Organizational Roles Table C ndash Management (in part)Table 35 ndash Tools Table M ndash Construction AidsTable 36 ndash Information Table A ndash Forms of InformationTable 41 ndash Materials Table P ndash MaterialsTable 49 ndash Properties Table N ndash Properties and Characteristics
Table 21 Mapping between the tables from OmniClass and Uniclass adapted from [4]
tions To fulfil this the system consists of 15 hierarchical tables each representing a different aspect of
construction information The tables can be used individually or combined when a more complex type of
information needs to be classified [4] Tables 11-12 are used to organize construction results Tables 23
33 34 and 35 and to a lesser extent 36 and 41 are used to organize construction resources And finally
tables 31 and 32 are used to classify construction processes including the phases of construction entity
life cycles The 15 tables of Omniclass also map to the suggested tables in Section 4 of ISO 12002-2
The most important characteristic of these tables is that they are designed to work together to provide
extremely granular or specific classification Depending on the complexity of the object being classified
and the level of detail desired an object can have occurrences in one two or more tables For example
when trying to describe the workcost relationship that states that if a wall is battered 30 of labour
cost is added and if the wall is curved an extra 30 is added there is a need to combine table 23 where
we can find the products and table 22 where the work results are stated and reflect the activities to be
performed on such products
222 Uniclass
The Unified Classification System for the Construction Industry is the United Kingdomrsquos equivalent
to Omniclass From an early point there has always been a collaboration between the developers of
both OmniClass and Uniclass in order to promote a harmonized international standard The mapping
between the tables from OmniClass to Uniclass is presented in Table 21
23 Ontologies
An ontology is a formal representation of an abstracted view of a domain that describes the objects
concepts and relationships between them that holds in that domain for a specific purpose [23] There
11
Figure 23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L - ConstructionProducts (B) where it is clear the tree structure of Omniclass tables
are different classifications of ontologies based on parameters such as level of granularity their use
and types of relationships [24ndash27] The process of ontology modelling consists of modelling the con-
cepts and relationships in a specific field into formal ontologies ie in an ontology language with formal
syntax [28] Ontology engineering is useful for enabling interoperability across heterogeneous systems
because it provides the necessary semantics for many fields of knowlegde and facilitates knowledge
reuse sharing and integration [29 30] In the context of this work ontologies help with IFCrsquos lack of
semantic clarity in mapping entities and relationships which can result in the potential for multiple data
structures to represent the same information [3] The goal of ontology development is to remove am-
biguities associated with different viewpoints and formalize IFC definitions for a robust model exchange
solution [31] Also ontologies are one of the key technologies to deal with the semantic interoperablity
caused by the need to share semantics of BIM among project participants who do not necessarily share
the same definition of terminologies [8] Ontologies specify the semantic of terminology systems in a
well defined and unambiguous manner [32] by formally and explicitly representing shared unterstanding
about domain concepts and the relationships between concepts
ifcOWL emerges as a solution to the problem presented above by being an ontology based on
the industry foundation classes This ontology was created semi automatically by BuildingSmart by
lifting an EXPRESS schema into an ontological level by transforming the language constructs from
the schema into a terminology box definition using Web Ontology Language [33] Using OWL (Web
Ontology Language) [34] the intended meanings of domain technologies and relations are specified
through various OWL constructs which have implemented OWL semantics and logical axioms in an
easy-to-use way [8] Another approach to solve IFCrsquos lack of semantic clarity are the OmniClass tables
described in which present a structured source for an ontology
12
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Resumo
O planeamento de actividades em projectos de construccedilatildeo eacute demorado e propenso a erros Esta
tarefa eacute uma das muitas aplicaccedilotildees praacuteticas do enriquecimento semacircntico de modelos IFC A praacutetica
do planeamento de actividades mostra que um grande nuacutemero das actividades atribuiacutedas a um projecto
satildeo determinadas pelos elementos de construccedilatildeo e perfil do projecto Posto isto idealmente deveria
haver uma forma automaacutetica de inferir as actividades correspondendes a um projecto de construccedilatildeo
O maior problema da automaccedilatildeo eacute que a atribuiccedilatildeo de actividades para os mesmos elements de con-
struccedilatildeo apresenta um grande niacutevel de variabilidade e depende em grande parte no conhecimento do
planeador do projecto em relaccedilatildeo ao mesmo Este trabalho tem como objectivo implementar e validar
um sistema que realiza sugestotildees automaacuteticas de actividades dado um modelo IFC de um projecto de
construccedilatildeo Esta soluccedilatildeo recolhe conhecimento especializado atraveacutes de um algoritmo de recomen-
daccedilatildeo que colecciona dados de projectos anteriores e aprende quando os utilizadores validam as
atribuiccedilotildees adicionam as que faltam ou corrigem as que estatildeo incorrectas
Palavras Chave
BIM IFC Enriquecimento Semacircntico Algoritmos de Recomendaccedilatildeo Omniclass
vii
Contents
1 Introduction 1
11 Motivation 3
12 Methodology and Contributions 3
13 Document Organization 4
2 Concepts 5
21 Building Information Modelling 6
211 BIM Tools Platforms and Environments 6
212 BIM Schemas 7
213 Model View Definitions 7
214 Exchange Formats 7
215 Industry Foundation Classes 8
216 COBie 9
22 Omniclass Classification System 10
221 OmniClass Tables 11
222 Uniclass 11
23 Ontologies 12
24 Recommendation Algorithms 13
241 Association Rules 13
242 K-Nearest Neighbours 13
243 K-Means Clustering 14
244 Evaluation of recommendation algorithms 14
3 Related Work 17
31 Building Information Models 18
310A SeeBIM for semantic enrichment 18
310B Object Profile Manager for semantic interoperability 19
32 Recommender Systems 19
320C Amazoncomrsquos Item-to-item collaborative filtering 20
320D eBaycomrsquos Feedback Profile 20
320E MovieFindercomrsquos Match Maker 20
320F Reelcomrsquos Movie Map 20
ix
320G HeyStaks 21
320H BibSonomy 21
33 Discussion 22
4 Solution 25
401 Solution Overview 26
41 Requirements 26
411 Use Case 27
412 Conceptual Overview 27
412A The relevant information from IFC 27
412B Formal definition of the recommendation algorithm 28
42 Conclusion 29
5 Implementation 31
51 Data Model 32
52 Architecture 32
521 The Model View Controller Pattern 32
522 Data and Domain Layers 32
523 Service Layer 35
53 Application Layer 35
531 Distributed Architecture 36
54 Main features 37
541 User profile and project creation 37
542 File upload and IFC Tools Project 37
543 File parsers 38
544 Recommendation algorithm and creation of associations 39
6 Validation 41
605 Methodology 42
605A Validating the algorithm 42
605B User satisfaction validation 42
606 Results 42
606A Recommendation Algorithm 42
606B User Satisfaction 43
7 Conclusion 45
71 Future Work 46
72 Final Remarks 46
Bibliography 49
Appendix A RESTful API A-1
x
Appendix B Validation Protocol B-1
Appendix C Satisfaction Questionnaire C-1
Appendix D Satisfaction Questionnaire Results D-1
xi
List of Figures
11 The dashed lines represent the goal to achieve with the proposed solution a direct map-
ping between IFC Elements and activities extracted from OmniClass standard 4
21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of
the IFC structure Each schema relates to a different concern 8
22 Geometric representation of wall opening and window A - 3D representation of the
object B - List of object parameters 10
23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L -
Construction Products (B) where it is clear the tree structure of Omniclass tables 12
31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of
execution that allows an IFC model to be enriched by the rule processing engine 18
41 BIMLinkrsquos use case 27
51 BIMLinkrsquos Data model 33
52 Layered architecture - conceptual layers on which the design on the application is based 34
53 MVC message flow 34
54 Sample route definition 35
55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of mes-
sages exchanged (1) - Requestsreplies between client and application and (2) - Queriesreplies
tofrom the database 36
56 Classification of an IfcColumn Here it is possible to see that the definition of a classifica-
tion reference list all the objects subject to such classification 38
57 Decision tree followed by the algorithm to create associations between products and work
results 39
58 Work flow to find the best work result code for a product 40
61 Project page for the ClinicOPO project after adding the code in HouseLx project A -
List of IfcbjectDefinitionrsquos extracted from the IFC file showing the pre-filled field for the
Omniclass Work Result from a recommendation based on previous projects 43
xiii
List of Tables
21 Mapping between the tables from OmniClass and Uniclass adapted from [4] 11
31 Applicability analysis of the systems for semantic clarity in BIM studied for this work 22
32 Applicability analysis of the recommender systems studied for this work The recommen-
dation quality is evaluated in High ( ) Medium (G) and Not Applicable(-) 23
xv
1Introduction
Contents11 Motivation 312 Methodology and Contributions 313 Document Organization 4
1
Building Information Models (BIM) have emerged as a way to promote the exchange of information
about a construction project between all of its stakeholders during its lifestyle Currently the Industry
Foundation Classes (IFC) exchange format is a BIM standard that contains information about build-
ing design planning or construction management Although IFC is very complete in some cases its
construction elements can have multiple definitions because of the need to represent objects and rela-
tionships for a wide range of Architecture Engineering and Construction (AEC) domains [1] For exam-
ple a precast floor slab a construction element can be defined in IFC as a rsquoBoundary Representation
bounding boxrsquo for clash detection as rsquosolid extrusionsrsquo of individual pieces for fabrication as rsquobuilding
entitiesrsquo without explicit geometry for production and delivery sequencing and as a rsquoslab aggregationrsquo
for other purposes All of these classes are distinct representations of the same construction element
and this happens because the rules for choosing the most suitable class due to the context of the project
are not defined Indeed studies show that without well-defined exchange model views the exchanges
are vulnerable to errors omissions contradictions and misinterpretations since they reduce or simplify
the information [2] In other words IFC lacks semantic clarity [3] One way to clarify the semantics of
IFC consists of mapping them to classification systems such as OmniClass [4] or UniClass [5] Thereby
classifying IFCrsquos information and addressing the multiple definitions problem This process which nowa-
days is mostly done manually is called semantic enrichment of the IFC model To perform semantic
enrichment manually one needs to combine multiple tables from a classification system and for projects
with similar profiles but different IFC models all the work has to be repeated since there is no way of
reusing past classifications from similar projects This task is tedious time consuming and error-prone
One of the applications for performing semantic enrichment on IFC models is for activity planning in
construction projects In various cases the same IfcElement [6] can have different activities assigned
to it depending on the profile of the project in question This problem can be addressed with a rec-
ommendation algorithm to help choose the most suitable assignments of activities depending on the
project
Two solutions have been proposed in literature for the semantic enrichment of IFC models see-
BIM [7] performs semantic enrichment to IFC models with a rule-based engine However it does not
make use of classification systems proposing a complex and not easily usable solution Object Profile
Manager [8] is an IFC-compliant object-CAD based and Web Ontology Language (OWL) ontology ap-
proach for semantic interoperability for BIM However Computer-Aided Design (CAD) modelling is out of
the scope of this work Both of these approaches aim at solving the problem this thesis will attempt to
solve but both are incomplete
In the field of recommendations two kinds of algorithms were explored rule based and clustering
With a rule-based algorithm such as Apriori [9] the goal is to find elements that have a high probability
of always belonging to the same set For example in a e-commerce platform the goal is to find the
items that are frequently bought together and create an association rule between them On the other
side with clustering or nearest neighbours algorithms the goal is to create groups based on a similarity
function From the previous example the goal here is to find customers with similar tastes by grouping
them together based on common bought items [9 10]
2
This works aims at validating the feasibility of using a recommender system BIMLink to simplify
and reduce the time spent while classifying complex information extracted from an IFC file For a given
project the system will have stored information from previous projects that are similar and will suggest
activity assignments that are similar The similarity of the projects is calculated according to the project
profile defined by its type and the region it is located in These suggestions will be based on a recom-
mendation algorithm that suggests the activities based on a calculated weight for each association This
weight is modified every time a suggestion is either correct or incorrect The algorithm will always aim to
suggest the associations with the higher weights according to previous similar projects The only tasks
the user needs to perform is validate the suggestions and add missing ones or delete incorrect ones
In order to evaluate the success of the system user tests will be conducted to conclude the usability
of the system and if it indeed does reduce the time spent while performing activity planning Also internal
performance tests on the algorithm will be performed to determine the quality of the recommendations
With this system it is expected that the time spent with activity planning will be reduced significantly
and the degree of complexity of this task will also decrease As for the semantic enrichment of the IFC
models it is expected that after performing the classifications in the case of this work performing the
assignment of activities to IFC elements the ambiguity will be extremely reduced and so will IFCrsquos lack
of semantic clarity
11 Motivation
When performing activity planning for a construction project there are two outcomes that are of
extreme importance for an efficient plan These are the resources that are needed for each activity as
well as the cost of each activity These measures will help determine the feasibility and success of the
construction project
To achieve the highest level of accuracy for the plan the activities need to be carefully assigned to
the right elements This can be an issue due to the fact that the chosen activity for a given construction
element depends on the context of the construction project For example one construction element
such as a door can be assigned one activity in one project such as assembling the door and another
activity for instance painting in another project If for some reason the wrong activity is assigned
the wrong construction element the resources and cost for that activity can be miscalculated This is
why a system that aids with activity planning reducing errors in activity assignment is needed which is
portrayed in Figure 11 This system uses the Omniclass Classification System by mapping Omniclass
Products to Omniclass Work results which represent the elements and activities respectively
12 Methodology and Contributions
This work has two main goals The first is to perform a literature review that intends to conclude if
there is currently any solution for Semantic Enrichment of IFC models with the Omniclass Classification
System The second goal of this work is to develop a solution that provides a way to semantically enrich
IFC models with the Omniclass Classification System while resorting to a recommendation algorithm so
3
Figure 11 The dashed lines represent the goal to achieve with the proposed solution a direct mapping betweenIFC Elements and activities extracted from OmniClass standard
that the time the user needs to spend enriching the model with activities is reduced To fulfill these goals
this work will be conducted as follows
bull Description of the concepts concerning BIM and recommendation algorithms
bull Analysis of the solutions used for Semantic Enrichment
bull Analysis of the most popular recommender systems
bull Identify in the literature the most suitable recommendation technique
bull Formalize an algorithm that fulfils the goal of the system
bull Develop an application BIMLink that fulfils the requirements of the system by using the formalized
algorithm to perform recommendations of the IFC files
bull Perform tests on the solution in order to validate the accuracy of the algorithm and feasibility of the
system
13 Document Organization
This manuscript is structured as follows Section 2 introduces the fundamental concepts of Building
Information Models as well as recommendation algorithms Section 3 details the related work in the
areas of BIM concerning Semantic Enrichment and recommender systems This section ends with an
analysis of the applicability of the presented systems to the problem to be solved Section 4 presents
a conceptual overview of the solution describing the relevant information from the IFC files as well as
formalizing the algorithm It also presents the domain model the requirements the system must fulfil
and the architecture of the solution Section 5 outlines the implementation details of the systemrsquos main
features Section 6 describes the validation plan and the results and finally Section 7 presents the
conclusions
4
2Concepts
Contents21 Building Information Modelling 622 Omniclass Classification System 1023 Ontologies 1224 Recommendation Algorithms 13
5
This section presents the concepts that are relevant for the understanding of the problem of this
work The first concept to be described is BIM 21 where its main features are presented Next Clas-
sification Systems 222 namely OmniClasses and their properties are discussed A brief overview of
Ontologies23 in the field of this work is presented Finally an analysis on Recommendation Algorithms
244
21 Building Information Modelling
BIM is an open technology for digital building modelling According to the National Institute of Building
Sciences (NIBS)1 BIM can be described as an improved planning design construction operation and
maintenance process using a standardized machine readable information model for each facility new or
old which contains all appropriate information created or gathered about that facility in a format usable
by all throughout its life cycle [11 12]
BIM was created as a solution for the need to simplify the process of exchanging information between
the activities in buildingrsquos AECO phases Now it is possible for example that the initial drafts made by
the architects are given to the engineers through digital means This contributes to savings on paper
support since the processes are fully digital and reduces the complexity inherent to the construction
process while making it faster
BIM also has the advantage of enabling collaboration among the stakeholders For instance the
architect adds sketches of the building as well as itrsquos equipment the structural engineer modifies it to
comply with physical principles the builder uses it to help on the construction phase and the building
manager bases on it to operate the facility properly It is clear that all the projectrsquos stakeholders can
contribute to the model according to each onersquos area of expertise on each phase of the building life cycle
Another important aspect is that BIM makes most of the processes related to buildings more agile saving
in bureaucracy and enabling error traceability For example using a tool to build the three-dimensional
model of the facility one can easily check for collisions between different systems or construction errors
like a tube being exposed to the outside of the building roof [11 13 pp 21-22 24]
211 BIM Tools Platforms and Environments
Having a single model containing the facilityrsquos data enables integration of a wide variety of tools that
work the model not only for editing it but also for extracting information useful to analyse the facil-
ity Some of them are design tools but there are others that consider a set of other functionality BIM
tools are used with the purpose of executing specific tasks considering the building model such as
cost estimation energy simulation errorclash detection and many others BIM platforms are used to
help develop BIMs providing an UI for designing building products Finally BIM environments combine
functionality from the two above providing integration between BIM tools and platforms inside an orga-
nization BIM environments are useful for automating the generation of BIM reports and data sets from
the building mode [11 70 71]
1httpwwwnibsorg
6
212 BIM Schemas
While the BIM model describes information regarding an instance of a building a BIM schema pro-
vides a structure to enable the representation of constructs defining how each element of the building
is described through elements properties and relationships In practice a BIM model is an instance of
a building that can be stored in a common format based on the structure described in the schema
BIM schemas can be internal or external On one hand an internal BIM schema represents the way
BIM tools model the information of the building their modelling constructs and knowledge On the other
hand an external BIM schema represents a common model independent from the applications used
to enable interoperability among them Furthermore an internal schema describes concepts regarding
a tool or project phase while an external schema is used for exchange among the several phases of the
project [14]
213 Model View Definitions
In order to adapt to the complexity that comes from the fact that BIM models contain information about
several aspects regarding the building from design to operation Model View Definitions (MVDs) define
subset models regarding fewer aspects of the building These views define a simpler and more specific
set of data for use in a given scenario when needed by the different stakeholders [15] BIM exchange
formats such as IFC are provided with a set of these MVD which define simpler models used in specific
applications or by specific stakeholders For each exchange scenario MVDs help define what is and
what is not in the scope of each exchange scenario Some formatsmdashCOBie for examplemdashare intended
to resolve the problem of handover by representing information typically required to be delivered from
one stage to another like from construction to operation [11 pp 120-122]
214 Exchange Formats
One of the most important properties of BIM tools and platforms is their interoperability and to
achieve that the information must flow from one to another in an independent format that is understood
by different applications In order to achieve this requirement exchange formats are developedThe first
information exchange formats Drawing eXchange Format (DXF) and Initial Graphic Exchange Spec-
ification (IGES) appeared in the 1980s and had only geometric data on building With the efforts on
developing BIM these evolved into formats like IFC which contain information about building design
planning or construction management or CIMsteel Integration Standard 2 (CIS2) for representing fab-
rication and structural engineering of steel Modelling languages like EXPRESS or EXtensible Markup
Language (XML) are used in these exchange formats so that information can be passed through a file
base exchange [11 pp 99-104]
7
Figure 21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of the IFC struc-ture Each schema relates to a different concern
215 Industry Foundation Classes
IFC is an open exchange format for sharing building data across the several stakeholders of its project
and operation which was created by buildingSMART2 (former International Alliance for Interoperability)
and as of March 2013 it is a published international standard ISO 16739 It is designed to model all
the existing data throughout the buildingrsquos life cycle and is the actual standard format for openBIM3
a software tool kit for developing BIM extensions IFC makes the model extensible and interoperable
by enabling the modeller to create new definitions since it is based on a meta model that broads the
definition of Class [16] In 2010 the IFC Certification 20 procedure was developed by BuildingSmart
for the IFC 2x3 Coordination View Version (CV20) which is an MVD intended to promote consistent and
reliable implementations of the IFC specification by many software vendors across multiple platforms [7]
IFCs are modelled recurring to the EXPRESS language to describe the classes mentioned above
These classes are comprised by the specification of an object and its attributes Each objectrsquos semantic
is described by said attributes These objects are connected by relations There are three main types
of classes object relation and resource classes Object classes represent the several entities inside
a building which are identified by a global identifier and a ownership identifier Each object class has
attributes that describe its details and the context where it is being used (such as topology geometry
etc) Relation classes represent the way elements connect to other objects There are many kinds
of relation classes that implement diverse types of interaction such as aggregation containment or
control The applicability of each relation is limited in other words relations specify which objects can
be bound to them Resource classes represent the attributes used to describe entities [17]
IFC structuremdashthat can be found in buildingSMARTrsquos website4 is composed of data schemas each
one relating to a different concern As Figure 21 depicts the data schemas divide in four conceptual
layers[18] Starting from the bottom there is the Resource Layer which represents individual business
concerns such as costs geometry or material The schemas in this layer are used to define properties
of classes from the remaining layers Next there is the Core Layer which is divided in Kernel and Core
extension schemas include the most abstract entities that are specified by the ones from the following
layers (Domain and Interoperability) The entities from Core layer are identified by a global ID and an
2httpwwwbuildingsmartorg3httpwwwopenbimorg4httpwwwbuildingsmart-techorgifcIFC4finalhtmlindexhtm
8
optional Ownership ID and historical data Following the Core Layer there is the Interoperability Layer
and contains the models related to concepts that are used by two or more models from the Domain
Layer This layer has the purpose of enabling inter-domain exchange and information sharing between
the upper levelrsquos classes Finally the highest layer is the Domain Layer which includes the entities that
concern to specializations of products processes or resources from a specific discipline
In the context of this work it is very important to understand how the information concerning a
BIM model is represented in an IFC schema in order to structure that information and feed it to the
recommendation algorithm As represented in Figure 21 the information that is of most relevance to
this work belongs to the resource layer It is in this layer that we find the elements the recommendation
algorithm will need These elements can be for example a door a column the floor in which an object
is in or the relation between a window and a wall To illustrate this a practical example [19] of a how a
window can be placed inside a wall is illustrated
To insert a window or door in a wall it is required to create an opening For this the following entities
are relevant IfcWall IfcOpeningElement IfcWindow These entities need to be connected via relative
placement and via topological connection Each physical object has a placement The placement is rep-
resented by IfcLocalPlacement and can be relative to an IfcLocalPlacement of another physical object
(in case of aggregation feature or filling relation) or of an spatial structure element This process of local
placements is recursive IfcWall IfcOpeningElement and IfcWindow each have their own IfcLocalPlace-
ment however the IfcLocalPlacement of IfcWindow is defined relatively to the IfcLocalPlacement of
IfcOpeningElement and the IfcLocalPlacement of IfcOpeningElement is defined relatively to the IfcLo-
calPlacement of IfcWall The IfcWall and IfcOpeningElement are connected via the objectified relation
IfcRelVoidsElement The IfcRelVoidsElement is connected with the wall via the relationship Relating-
BuildingElement and to the opening element via the relationship RelatedOpeningElement Through
the inverse relationships it is possible to traverse from wall to opening element and vice versa The
IfcOpeningElement and IfcWindow are connected via the objectified relation IfcRelFillsElement The
IfcRelFillsElement is connected with the opening element via the relationship RelatingOpeningElement
and to the window via the relationship RelatedBuildingElement Through the inverse relationships it is
possible to traverse from opening element to window and vice versa The geometric representation of
this example is presented in Figure 23
From the example described above it is clear that when performing activity planning it is very impor-
tant to have two classes of the IFC model well defined the IfcElements and their relationships because
although in different projects a window is used itrsquos relationship to the other elements is crucial to decide
which activity to associate to the window
216 COBie
COBie can be defined as a MVD5 over BIM In other words it consists on a subset of information from
the building Its main use is as an data exchange format by construction teams to handover operational
and maintenance information collected during AEC phases to the facility owner as construction finishes5httpdocsbuildingsmartallianceorgMVD_COBIE
9
Figure 22 Geometric representation of wall opening and window A - 3D representation of the object B - List ofobject parameters
such as equipment lists preventive maintenance schedules or warranty information It can be viewed
in spreadsheets or imported by specific tools for visualization COBie was created to eliminate the
excess of paper usage arising from the information delivered to the building manager when the project
finishes Moreover information took too much time to be compiled since some documents had to be
recreated causing the information to be delivered much later than the expected Once the building
model is constantly updated as the project goes by there is no need to recreate information about what
happened in a given phase and therefore it reaches facility managers quicker with minimum delay [20]
22 Omniclass Classification System
The OmniClass Construction Classification System 6 commonly known as OmniClass or OCCS is
a classification system for the construction industry which is created by the North American AEC indus-
try It is useful for many applications in the area of BIM from organizing reports and object libraries to
providing a way to roll up or drill down through data to get the information that meets the needs of the
projectrsquos stakeholders In simple terms OmniClass is a standard for organizing all construction informa-
tion This information is structured in the form of tables OmniClass bases its tables in other systems that
are not in use any more Those systems are MasterFormat [21] UniFormat [22] and EPIC (Electronic
Product Information Cooperation) for work results elements and products respectively OmniClass fol-
lows the international framework set out in ISOTR 14177 This document was later established as a
standard in ISO 12006-2 Organization of Information about Construction Works - Part 2 Framework for
Classification of Information
221 OmniClass Tables
OmniClass is designed to provide a standardized basis for classifying information and is intended to
be the means for organizing sorting and retrieving information and deriving relational computer applica-6httpwwwomniclassorg
10
Omniclass Uniclass
Table 11 ndash Construction Entities by Function Table D ndash FacilitiesTable 12 ndash Construction Entities by Form Table E ndash Construction EntitiesTable 13 ndash Spaces by Function Table F ndash SpacesTable 14 ndash Spaces by Form Table F ndash Spaces
Table 21 ndash Elements Table G ndash Elements for BuildingsTable H ndash Elements for Civil Engineering Works
Table 22 ndash Work Results Table J ndash Work Sections for BuildingsTable K ndash Work Sections for Civil Engineering Works
Table 23 ndash Products Table L ndash Construction ProductsTable 31 ndash Phases Table C ndash Management (in part)Table 32 ndash Services OmniClass Table B ndash Subject DisciplinesTable 33 ndash Disciplines Table B ndash Subject DisciplinesTable 34 ndash Organizational Roles Table C ndash Management (in part)Table 35 ndash Tools Table M ndash Construction AidsTable 36 ndash Information Table A ndash Forms of InformationTable 41 ndash Materials Table P ndash MaterialsTable 49 ndash Properties Table N ndash Properties and Characteristics
Table 21 Mapping between the tables from OmniClass and Uniclass adapted from [4]
tions To fulfil this the system consists of 15 hierarchical tables each representing a different aspect of
construction information The tables can be used individually or combined when a more complex type of
information needs to be classified [4] Tables 11-12 are used to organize construction results Tables 23
33 34 and 35 and to a lesser extent 36 and 41 are used to organize construction resources And finally
tables 31 and 32 are used to classify construction processes including the phases of construction entity
life cycles The 15 tables of Omniclass also map to the suggested tables in Section 4 of ISO 12002-2
The most important characteristic of these tables is that they are designed to work together to provide
extremely granular or specific classification Depending on the complexity of the object being classified
and the level of detail desired an object can have occurrences in one two or more tables For example
when trying to describe the workcost relationship that states that if a wall is battered 30 of labour
cost is added and if the wall is curved an extra 30 is added there is a need to combine table 23 where
we can find the products and table 22 where the work results are stated and reflect the activities to be
performed on such products
222 Uniclass
The Unified Classification System for the Construction Industry is the United Kingdomrsquos equivalent
to Omniclass From an early point there has always been a collaboration between the developers of
both OmniClass and Uniclass in order to promote a harmonized international standard The mapping
between the tables from OmniClass to Uniclass is presented in Table 21
23 Ontologies
An ontology is a formal representation of an abstracted view of a domain that describes the objects
concepts and relationships between them that holds in that domain for a specific purpose [23] There
11
Figure 23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L - ConstructionProducts (B) where it is clear the tree structure of Omniclass tables
are different classifications of ontologies based on parameters such as level of granularity their use
and types of relationships [24ndash27] The process of ontology modelling consists of modelling the con-
cepts and relationships in a specific field into formal ontologies ie in an ontology language with formal
syntax [28] Ontology engineering is useful for enabling interoperability across heterogeneous systems
because it provides the necessary semantics for many fields of knowlegde and facilitates knowledge
reuse sharing and integration [29 30] In the context of this work ontologies help with IFCrsquos lack of
semantic clarity in mapping entities and relationships which can result in the potential for multiple data
structures to represent the same information [3] The goal of ontology development is to remove am-
biguities associated with different viewpoints and formalize IFC definitions for a robust model exchange
solution [31] Also ontologies are one of the key technologies to deal with the semantic interoperablity
caused by the need to share semantics of BIM among project participants who do not necessarily share
the same definition of terminologies [8] Ontologies specify the semantic of terminology systems in a
well defined and unambiguous manner [32] by formally and explicitly representing shared unterstanding
about domain concepts and the relationships between concepts
ifcOWL emerges as a solution to the problem presented above by being an ontology based on
the industry foundation classes This ontology was created semi automatically by BuildingSmart by
lifting an EXPRESS schema into an ontological level by transforming the language constructs from
the schema into a terminology box definition using Web Ontology Language [33] Using OWL (Web
Ontology Language) [34] the intended meanings of domain technologies and relations are specified
through various OWL constructs which have implemented OWL semantics and logical axioms in an
easy-to-use way [8] Another approach to solve IFCrsquos lack of semantic clarity are the OmniClass tables
described in which present a structured source for an ontology
12
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Contents
1 Introduction 1
11 Motivation 3
12 Methodology and Contributions 3
13 Document Organization 4
2 Concepts 5
21 Building Information Modelling 6
211 BIM Tools Platforms and Environments 6
212 BIM Schemas 7
213 Model View Definitions 7
214 Exchange Formats 7
215 Industry Foundation Classes 8
216 COBie 9
22 Omniclass Classification System 10
221 OmniClass Tables 11
222 Uniclass 11
23 Ontologies 12
24 Recommendation Algorithms 13
241 Association Rules 13
242 K-Nearest Neighbours 13
243 K-Means Clustering 14
244 Evaluation of recommendation algorithms 14
3 Related Work 17
31 Building Information Models 18
310A SeeBIM for semantic enrichment 18
310B Object Profile Manager for semantic interoperability 19
32 Recommender Systems 19
320C Amazoncomrsquos Item-to-item collaborative filtering 20
320D eBaycomrsquos Feedback Profile 20
320E MovieFindercomrsquos Match Maker 20
320F Reelcomrsquos Movie Map 20
ix
320G HeyStaks 21
320H BibSonomy 21
33 Discussion 22
4 Solution 25
401 Solution Overview 26
41 Requirements 26
411 Use Case 27
412 Conceptual Overview 27
412A The relevant information from IFC 27
412B Formal definition of the recommendation algorithm 28
42 Conclusion 29
5 Implementation 31
51 Data Model 32
52 Architecture 32
521 The Model View Controller Pattern 32
522 Data and Domain Layers 32
523 Service Layer 35
53 Application Layer 35
531 Distributed Architecture 36
54 Main features 37
541 User profile and project creation 37
542 File upload and IFC Tools Project 37
543 File parsers 38
544 Recommendation algorithm and creation of associations 39
6 Validation 41
605 Methodology 42
605A Validating the algorithm 42
605B User satisfaction validation 42
606 Results 42
606A Recommendation Algorithm 42
606B User Satisfaction 43
7 Conclusion 45
71 Future Work 46
72 Final Remarks 46
Bibliography 49
Appendix A RESTful API A-1
x
Appendix B Validation Protocol B-1
Appendix C Satisfaction Questionnaire C-1
Appendix D Satisfaction Questionnaire Results D-1
xi
List of Figures
11 The dashed lines represent the goal to achieve with the proposed solution a direct map-
ping between IFC Elements and activities extracted from OmniClass standard 4
21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of
the IFC structure Each schema relates to a different concern 8
22 Geometric representation of wall opening and window A - 3D representation of the
object B - List of object parameters 10
23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L -
Construction Products (B) where it is clear the tree structure of Omniclass tables 12
31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of
execution that allows an IFC model to be enriched by the rule processing engine 18
41 BIMLinkrsquos use case 27
51 BIMLinkrsquos Data model 33
52 Layered architecture - conceptual layers on which the design on the application is based 34
53 MVC message flow 34
54 Sample route definition 35
55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of mes-
sages exchanged (1) - Requestsreplies between client and application and (2) - Queriesreplies
tofrom the database 36
56 Classification of an IfcColumn Here it is possible to see that the definition of a classifica-
tion reference list all the objects subject to such classification 38
57 Decision tree followed by the algorithm to create associations between products and work
results 39
58 Work flow to find the best work result code for a product 40
61 Project page for the ClinicOPO project after adding the code in HouseLx project A -
List of IfcbjectDefinitionrsquos extracted from the IFC file showing the pre-filled field for the
Omniclass Work Result from a recommendation based on previous projects 43
xiii
List of Tables
21 Mapping between the tables from OmniClass and Uniclass adapted from [4] 11
31 Applicability analysis of the systems for semantic clarity in BIM studied for this work 22
32 Applicability analysis of the recommender systems studied for this work The recommen-
dation quality is evaluated in High ( ) Medium (G) and Not Applicable(-) 23
xv
1Introduction
Contents11 Motivation 312 Methodology and Contributions 313 Document Organization 4
1
Building Information Models (BIM) have emerged as a way to promote the exchange of information
about a construction project between all of its stakeholders during its lifestyle Currently the Industry
Foundation Classes (IFC) exchange format is a BIM standard that contains information about build-
ing design planning or construction management Although IFC is very complete in some cases its
construction elements can have multiple definitions because of the need to represent objects and rela-
tionships for a wide range of Architecture Engineering and Construction (AEC) domains [1] For exam-
ple a precast floor slab a construction element can be defined in IFC as a rsquoBoundary Representation
bounding boxrsquo for clash detection as rsquosolid extrusionsrsquo of individual pieces for fabrication as rsquobuilding
entitiesrsquo without explicit geometry for production and delivery sequencing and as a rsquoslab aggregationrsquo
for other purposes All of these classes are distinct representations of the same construction element
and this happens because the rules for choosing the most suitable class due to the context of the project
are not defined Indeed studies show that without well-defined exchange model views the exchanges
are vulnerable to errors omissions contradictions and misinterpretations since they reduce or simplify
the information [2] In other words IFC lacks semantic clarity [3] One way to clarify the semantics of
IFC consists of mapping them to classification systems such as OmniClass [4] or UniClass [5] Thereby
classifying IFCrsquos information and addressing the multiple definitions problem This process which nowa-
days is mostly done manually is called semantic enrichment of the IFC model To perform semantic
enrichment manually one needs to combine multiple tables from a classification system and for projects
with similar profiles but different IFC models all the work has to be repeated since there is no way of
reusing past classifications from similar projects This task is tedious time consuming and error-prone
One of the applications for performing semantic enrichment on IFC models is for activity planning in
construction projects In various cases the same IfcElement [6] can have different activities assigned
to it depending on the profile of the project in question This problem can be addressed with a rec-
ommendation algorithm to help choose the most suitable assignments of activities depending on the
project
Two solutions have been proposed in literature for the semantic enrichment of IFC models see-
BIM [7] performs semantic enrichment to IFC models with a rule-based engine However it does not
make use of classification systems proposing a complex and not easily usable solution Object Profile
Manager [8] is an IFC-compliant object-CAD based and Web Ontology Language (OWL) ontology ap-
proach for semantic interoperability for BIM However Computer-Aided Design (CAD) modelling is out of
the scope of this work Both of these approaches aim at solving the problem this thesis will attempt to
solve but both are incomplete
In the field of recommendations two kinds of algorithms were explored rule based and clustering
With a rule-based algorithm such as Apriori [9] the goal is to find elements that have a high probability
of always belonging to the same set For example in a e-commerce platform the goal is to find the
items that are frequently bought together and create an association rule between them On the other
side with clustering or nearest neighbours algorithms the goal is to create groups based on a similarity
function From the previous example the goal here is to find customers with similar tastes by grouping
them together based on common bought items [9 10]
2
This works aims at validating the feasibility of using a recommender system BIMLink to simplify
and reduce the time spent while classifying complex information extracted from an IFC file For a given
project the system will have stored information from previous projects that are similar and will suggest
activity assignments that are similar The similarity of the projects is calculated according to the project
profile defined by its type and the region it is located in These suggestions will be based on a recom-
mendation algorithm that suggests the activities based on a calculated weight for each association This
weight is modified every time a suggestion is either correct or incorrect The algorithm will always aim to
suggest the associations with the higher weights according to previous similar projects The only tasks
the user needs to perform is validate the suggestions and add missing ones or delete incorrect ones
In order to evaluate the success of the system user tests will be conducted to conclude the usability
of the system and if it indeed does reduce the time spent while performing activity planning Also internal
performance tests on the algorithm will be performed to determine the quality of the recommendations
With this system it is expected that the time spent with activity planning will be reduced significantly
and the degree of complexity of this task will also decrease As for the semantic enrichment of the IFC
models it is expected that after performing the classifications in the case of this work performing the
assignment of activities to IFC elements the ambiguity will be extremely reduced and so will IFCrsquos lack
of semantic clarity
11 Motivation
When performing activity planning for a construction project there are two outcomes that are of
extreme importance for an efficient plan These are the resources that are needed for each activity as
well as the cost of each activity These measures will help determine the feasibility and success of the
construction project
To achieve the highest level of accuracy for the plan the activities need to be carefully assigned to
the right elements This can be an issue due to the fact that the chosen activity for a given construction
element depends on the context of the construction project For example one construction element
such as a door can be assigned one activity in one project such as assembling the door and another
activity for instance painting in another project If for some reason the wrong activity is assigned
the wrong construction element the resources and cost for that activity can be miscalculated This is
why a system that aids with activity planning reducing errors in activity assignment is needed which is
portrayed in Figure 11 This system uses the Omniclass Classification System by mapping Omniclass
Products to Omniclass Work results which represent the elements and activities respectively
12 Methodology and Contributions
This work has two main goals The first is to perform a literature review that intends to conclude if
there is currently any solution for Semantic Enrichment of IFC models with the Omniclass Classification
System The second goal of this work is to develop a solution that provides a way to semantically enrich
IFC models with the Omniclass Classification System while resorting to a recommendation algorithm so
3
Figure 11 The dashed lines represent the goal to achieve with the proposed solution a direct mapping betweenIFC Elements and activities extracted from OmniClass standard
that the time the user needs to spend enriching the model with activities is reduced To fulfill these goals
this work will be conducted as follows
bull Description of the concepts concerning BIM and recommendation algorithms
bull Analysis of the solutions used for Semantic Enrichment
bull Analysis of the most popular recommender systems
bull Identify in the literature the most suitable recommendation technique
bull Formalize an algorithm that fulfils the goal of the system
bull Develop an application BIMLink that fulfils the requirements of the system by using the formalized
algorithm to perform recommendations of the IFC files
bull Perform tests on the solution in order to validate the accuracy of the algorithm and feasibility of the
system
13 Document Organization
This manuscript is structured as follows Section 2 introduces the fundamental concepts of Building
Information Models as well as recommendation algorithms Section 3 details the related work in the
areas of BIM concerning Semantic Enrichment and recommender systems This section ends with an
analysis of the applicability of the presented systems to the problem to be solved Section 4 presents
a conceptual overview of the solution describing the relevant information from the IFC files as well as
formalizing the algorithm It also presents the domain model the requirements the system must fulfil
and the architecture of the solution Section 5 outlines the implementation details of the systemrsquos main
features Section 6 describes the validation plan and the results and finally Section 7 presents the
conclusions
4
2Concepts
Contents21 Building Information Modelling 622 Omniclass Classification System 1023 Ontologies 1224 Recommendation Algorithms 13
5
This section presents the concepts that are relevant for the understanding of the problem of this
work The first concept to be described is BIM 21 where its main features are presented Next Clas-
sification Systems 222 namely OmniClasses and their properties are discussed A brief overview of
Ontologies23 in the field of this work is presented Finally an analysis on Recommendation Algorithms
244
21 Building Information Modelling
BIM is an open technology for digital building modelling According to the National Institute of Building
Sciences (NIBS)1 BIM can be described as an improved planning design construction operation and
maintenance process using a standardized machine readable information model for each facility new or
old which contains all appropriate information created or gathered about that facility in a format usable
by all throughout its life cycle [11 12]
BIM was created as a solution for the need to simplify the process of exchanging information between
the activities in buildingrsquos AECO phases Now it is possible for example that the initial drafts made by
the architects are given to the engineers through digital means This contributes to savings on paper
support since the processes are fully digital and reduces the complexity inherent to the construction
process while making it faster
BIM also has the advantage of enabling collaboration among the stakeholders For instance the
architect adds sketches of the building as well as itrsquos equipment the structural engineer modifies it to
comply with physical principles the builder uses it to help on the construction phase and the building
manager bases on it to operate the facility properly It is clear that all the projectrsquos stakeholders can
contribute to the model according to each onersquos area of expertise on each phase of the building life cycle
Another important aspect is that BIM makes most of the processes related to buildings more agile saving
in bureaucracy and enabling error traceability For example using a tool to build the three-dimensional
model of the facility one can easily check for collisions between different systems or construction errors
like a tube being exposed to the outside of the building roof [11 13 pp 21-22 24]
211 BIM Tools Platforms and Environments
Having a single model containing the facilityrsquos data enables integration of a wide variety of tools that
work the model not only for editing it but also for extracting information useful to analyse the facil-
ity Some of them are design tools but there are others that consider a set of other functionality BIM
tools are used with the purpose of executing specific tasks considering the building model such as
cost estimation energy simulation errorclash detection and many others BIM platforms are used to
help develop BIMs providing an UI for designing building products Finally BIM environments combine
functionality from the two above providing integration between BIM tools and platforms inside an orga-
nization BIM environments are useful for automating the generation of BIM reports and data sets from
the building mode [11 70 71]
1httpwwwnibsorg
6
212 BIM Schemas
While the BIM model describes information regarding an instance of a building a BIM schema pro-
vides a structure to enable the representation of constructs defining how each element of the building
is described through elements properties and relationships In practice a BIM model is an instance of
a building that can be stored in a common format based on the structure described in the schema
BIM schemas can be internal or external On one hand an internal BIM schema represents the way
BIM tools model the information of the building their modelling constructs and knowledge On the other
hand an external BIM schema represents a common model independent from the applications used
to enable interoperability among them Furthermore an internal schema describes concepts regarding
a tool or project phase while an external schema is used for exchange among the several phases of the
project [14]
213 Model View Definitions
In order to adapt to the complexity that comes from the fact that BIM models contain information about
several aspects regarding the building from design to operation Model View Definitions (MVDs) define
subset models regarding fewer aspects of the building These views define a simpler and more specific
set of data for use in a given scenario when needed by the different stakeholders [15] BIM exchange
formats such as IFC are provided with a set of these MVD which define simpler models used in specific
applications or by specific stakeholders For each exchange scenario MVDs help define what is and
what is not in the scope of each exchange scenario Some formatsmdashCOBie for examplemdashare intended
to resolve the problem of handover by representing information typically required to be delivered from
one stage to another like from construction to operation [11 pp 120-122]
214 Exchange Formats
One of the most important properties of BIM tools and platforms is their interoperability and to
achieve that the information must flow from one to another in an independent format that is understood
by different applications In order to achieve this requirement exchange formats are developedThe first
information exchange formats Drawing eXchange Format (DXF) and Initial Graphic Exchange Spec-
ification (IGES) appeared in the 1980s and had only geometric data on building With the efforts on
developing BIM these evolved into formats like IFC which contain information about building design
planning or construction management or CIMsteel Integration Standard 2 (CIS2) for representing fab-
rication and structural engineering of steel Modelling languages like EXPRESS or EXtensible Markup
Language (XML) are used in these exchange formats so that information can be passed through a file
base exchange [11 pp 99-104]
7
Figure 21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of the IFC struc-ture Each schema relates to a different concern
215 Industry Foundation Classes
IFC is an open exchange format for sharing building data across the several stakeholders of its project
and operation which was created by buildingSMART2 (former International Alliance for Interoperability)
and as of March 2013 it is a published international standard ISO 16739 It is designed to model all
the existing data throughout the buildingrsquos life cycle and is the actual standard format for openBIM3
a software tool kit for developing BIM extensions IFC makes the model extensible and interoperable
by enabling the modeller to create new definitions since it is based on a meta model that broads the
definition of Class [16] In 2010 the IFC Certification 20 procedure was developed by BuildingSmart
for the IFC 2x3 Coordination View Version (CV20) which is an MVD intended to promote consistent and
reliable implementations of the IFC specification by many software vendors across multiple platforms [7]
IFCs are modelled recurring to the EXPRESS language to describe the classes mentioned above
These classes are comprised by the specification of an object and its attributes Each objectrsquos semantic
is described by said attributes These objects are connected by relations There are three main types
of classes object relation and resource classes Object classes represent the several entities inside
a building which are identified by a global identifier and a ownership identifier Each object class has
attributes that describe its details and the context where it is being used (such as topology geometry
etc) Relation classes represent the way elements connect to other objects There are many kinds
of relation classes that implement diverse types of interaction such as aggregation containment or
control The applicability of each relation is limited in other words relations specify which objects can
be bound to them Resource classes represent the attributes used to describe entities [17]
IFC structuremdashthat can be found in buildingSMARTrsquos website4 is composed of data schemas each
one relating to a different concern As Figure 21 depicts the data schemas divide in four conceptual
layers[18] Starting from the bottom there is the Resource Layer which represents individual business
concerns such as costs geometry or material The schemas in this layer are used to define properties
of classes from the remaining layers Next there is the Core Layer which is divided in Kernel and Core
extension schemas include the most abstract entities that are specified by the ones from the following
layers (Domain and Interoperability) The entities from Core layer are identified by a global ID and an
2httpwwwbuildingsmartorg3httpwwwopenbimorg4httpwwwbuildingsmart-techorgifcIFC4finalhtmlindexhtm
8
optional Ownership ID and historical data Following the Core Layer there is the Interoperability Layer
and contains the models related to concepts that are used by two or more models from the Domain
Layer This layer has the purpose of enabling inter-domain exchange and information sharing between
the upper levelrsquos classes Finally the highest layer is the Domain Layer which includes the entities that
concern to specializations of products processes or resources from a specific discipline
In the context of this work it is very important to understand how the information concerning a
BIM model is represented in an IFC schema in order to structure that information and feed it to the
recommendation algorithm As represented in Figure 21 the information that is of most relevance to
this work belongs to the resource layer It is in this layer that we find the elements the recommendation
algorithm will need These elements can be for example a door a column the floor in which an object
is in or the relation between a window and a wall To illustrate this a practical example [19] of a how a
window can be placed inside a wall is illustrated
To insert a window or door in a wall it is required to create an opening For this the following entities
are relevant IfcWall IfcOpeningElement IfcWindow These entities need to be connected via relative
placement and via topological connection Each physical object has a placement The placement is rep-
resented by IfcLocalPlacement and can be relative to an IfcLocalPlacement of another physical object
(in case of aggregation feature or filling relation) or of an spatial structure element This process of local
placements is recursive IfcWall IfcOpeningElement and IfcWindow each have their own IfcLocalPlace-
ment however the IfcLocalPlacement of IfcWindow is defined relatively to the IfcLocalPlacement of
IfcOpeningElement and the IfcLocalPlacement of IfcOpeningElement is defined relatively to the IfcLo-
calPlacement of IfcWall The IfcWall and IfcOpeningElement are connected via the objectified relation
IfcRelVoidsElement The IfcRelVoidsElement is connected with the wall via the relationship Relating-
BuildingElement and to the opening element via the relationship RelatedOpeningElement Through
the inverse relationships it is possible to traverse from wall to opening element and vice versa The
IfcOpeningElement and IfcWindow are connected via the objectified relation IfcRelFillsElement The
IfcRelFillsElement is connected with the opening element via the relationship RelatingOpeningElement
and to the window via the relationship RelatedBuildingElement Through the inverse relationships it is
possible to traverse from opening element to window and vice versa The geometric representation of
this example is presented in Figure 23
From the example described above it is clear that when performing activity planning it is very impor-
tant to have two classes of the IFC model well defined the IfcElements and their relationships because
although in different projects a window is used itrsquos relationship to the other elements is crucial to decide
which activity to associate to the window
216 COBie
COBie can be defined as a MVD5 over BIM In other words it consists on a subset of information from
the building Its main use is as an data exchange format by construction teams to handover operational
and maintenance information collected during AEC phases to the facility owner as construction finishes5httpdocsbuildingsmartallianceorgMVD_COBIE
9
Figure 22 Geometric representation of wall opening and window A - 3D representation of the object B - List ofobject parameters
such as equipment lists preventive maintenance schedules or warranty information It can be viewed
in spreadsheets or imported by specific tools for visualization COBie was created to eliminate the
excess of paper usage arising from the information delivered to the building manager when the project
finishes Moreover information took too much time to be compiled since some documents had to be
recreated causing the information to be delivered much later than the expected Once the building
model is constantly updated as the project goes by there is no need to recreate information about what
happened in a given phase and therefore it reaches facility managers quicker with minimum delay [20]
22 Omniclass Classification System
The OmniClass Construction Classification System 6 commonly known as OmniClass or OCCS is
a classification system for the construction industry which is created by the North American AEC indus-
try It is useful for many applications in the area of BIM from organizing reports and object libraries to
providing a way to roll up or drill down through data to get the information that meets the needs of the
projectrsquos stakeholders In simple terms OmniClass is a standard for organizing all construction informa-
tion This information is structured in the form of tables OmniClass bases its tables in other systems that
are not in use any more Those systems are MasterFormat [21] UniFormat [22] and EPIC (Electronic
Product Information Cooperation) for work results elements and products respectively OmniClass fol-
lows the international framework set out in ISOTR 14177 This document was later established as a
standard in ISO 12006-2 Organization of Information about Construction Works - Part 2 Framework for
Classification of Information
221 OmniClass Tables
OmniClass is designed to provide a standardized basis for classifying information and is intended to
be the means for organizing sorting and retrieving information and deriving relational computer applica-6httpwwwomniclassorg
10
Omniclass Uniclass
Table 11 ndash Construction Entities by Function Table D ndash FacilitiesTable 12 ndash Construction Entities by Form Table E ndash Construction EntitiesTable 13 ndash Spaces by Function Table F ndash SpacesTable 14 ndash Spaces by Form Table F ndash Spaces
Table 21 ndash Elements Table G ndash Elements for BuildingsTable H ndash Elements for Civil Engineering Works
Table 22 ndash Work Results Table J ndash Work Sections for BuildingsTable K ndash Work Sections for Civil Engineering Works
Table 23 ndash Products Table L ndash Construction ProductsTable 31 ndash Phases Table C ndash Management (in part)Table 32 ndash Services OmniClass Table B ndash Subject DisciplinesTable 33 ndash Disciplines Table B ndash Subject DisciplinesTable 34 ndash Organizational Roles Table C ndash Management (in part)Table 35 ndash Tools Table M ndash Construction AidsTable 36 ndash Information Table A ndash Forms of InformationTable 41 ndash Materials Table P ndash MaterialsTable 49 ndash Properties Table N ndash Properties and Characteristics
Table 21 Mapping between the tables from OmniClass and Uniclass adapted from [4]
tions To fulfil this the system consists of 15 hierarchical tables each representing a different aspect of
construction information The tables can be used individually or combined when a more complex type of
information needs to be classified [4] Tables 11-12 are used to organize construction results Tables 23
33 34 and 35 and to a lesser extent 36 and 41 are used to organize construction resources And finally
tables 31 and 32 are used to classify construction processes including the phases of construction entity
life cycles The 15 tables of Omniclass also map to the suggested tables in Section 4 of ISO 12002-2
The most important characteristic of these tables is that they are designed to work together to provide
extremely granular or specific classification Depending on the complexity of the object being classified
and the level of detail desired an object can have occurrences in one two or more tables For example
when trying to describe the workcost relationship that states that if a wall is battered 30 of labour
cost is added and if the wall is curved an extra 30 is added there is a need to combine table 23 where
we can find the products and table 22 where the work results are stated and reflect the activities to be
performed on such products
222 Uniclass
The Unified Classification System for the Construction Industry is the United Kingdomrsquos equivalent
to Omniclass From an early point there has always been a collaboration between the developers of
both OmniClass and Uniclass in order to promote a harmonized international standard The mapping
between the tables from OmniClass to Uniclass is presented in Table 21
23 Ontologies
An ontology is a formal representation of an abstracted view of a domain that describes the objects
concepts and relationships between them that holds in that domain for a specific purpose [23] There
11
Figure 23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L - ConstructionProducts (B) where it is clear the tree structure of Omniclass tables
are different classifications of ontologies based on parameters such as level of granularity their use
and types of relationships [24ndash27] The process of ontology modelling consists of modelling the con-
cepts and relationships in a specific field into formal ontologies ie in an ontology language with formal
syntax [28] Ontology engineering is useful for enabling interoperability across heterogeneous systems
because it provides the necessary semantics for many fields of knowlegde and facilitates knowledge
reuse sharing and integration [29 30] In the context of this work ontologies help with IFCrsquos lack of
semantic clarity in mapping entities and relationships which can result in the potential for multiple data
structures to represent the same information [3] The goal of ontology development is to remove am-
biguities associated with different viewpoints and formalize IFC definitions for a robust model exchange
solution [31] Also ontologies are one of the key technologies to deal with the semantic interoperablity
caused by the need to share semantics of BIM among project participants who do not necessarily share
the same definition of terminologies [8] Ontologies specify the semantic of terminology systems in a
well defined and unambiguous manner [32] by formally and explicitly representing shared unterstanding
about domain concepts and the relationships between concepts
ifcOWL emerges as a solution to the problem presented above by being an ontology based on
the industry foundation classes This ontology was created semi automatically by BuildingSmart by
lifting an EXPRESS schema into an ontological level by transforming the language constructs from
the schema into a terminology box definition using Web Ontology Language [33] Using OWL (Web
Ontology Language) [34] the intended meanings of domain technologies and relations are specified
through various OWL constructs which have implemented OWL semantics and logical axioms in an
easy-to-use way [8] Another approach to solve IFCrsquos lack of semantic clarity are the OmniClass tables
described in which present a structured source for an ontology
12
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
320G HeyStaks 21
320H BibSonomy 21
33 Discussion 22
4 Solution 25
401 Solution Overview 26
41 Requirements 26
411 Use Case 27
412 Conceptual Overview 27
412A The relevant information from IFC 27
412B Formal definition of the recommendation algorithm 28
42 Conclusion 29
5 Implementation 31
51 Data Model 32
52 Architecture 32
521 The Model View Controller Pattern 32
522 Data and Domain Layers 32
523 Service Layer 35
53 Application Layer 35
531 Distributed Architecture 36
54 Main features 37
541 User profile and project creation 37
542 File upload and IFC Tools Project 37
543 File parsers 38
544 Recommendation algorithm and creation of associations 39
6 Validation 41
605 Methodology 42
605A Validating the algorithm 42
605B User satisfaction validation 42
606 Results 42
606A Recommendation Algorithm 42
606B User Satisfaction 43
7 Conclusion 45
71 Future Work 46
72 Final Remarks 46
Bibliography 49
Appendix A RESTful API A-1
x
Appendix B Validation Protocol B-1
Appendix C Satisfaction Questionnaire C-1
Appendix D Satisfaction Questionnaire Results D-1
xi
List of Figures
11 The dashed lines represent the goal to achieve with the proposed solution a direct map-
ping between IFC Elements and activities extracted from OmniClass standard 4
21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of
the IFC structure Each schema relates to a different concern 8
22 Geometric representation of wall opening and window A - 3D representation of the
object B - List of object parameters 10
23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L -
Construction Products (B) where it is clear the tree structure of Omniclass tables 12
31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of
execution that allows an IFC model to be enriched by the rule processing engine 18
41 BIMLinkrsquos use case 27
51 BIMLinkrsquos Data model 33
52 Layered architecture - conceptual layers on which the design on the application is based 34
53 MVC message flow 34
54 Sample route definition 35
55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of mes-
sages exchanged (1) - Requestsreplies between client and application and (2) - Queriesreplies
tofrom the database 36
56 Classification of an IfcColumn Here it is possible to see that the definition of a classifica-
tion reference list all the objects subject to such classification 38
57 Decision tree followed by the algorithm to create associations between products and work
results 39
58 Work flow to find the best work result code for a product 40
61 Project page for the ClinicOPO project after adding the code in HouseLx project A -
List of IfcbjectDefinitionrsquos extracted from the IFC file showing the pre-filled field for the
Omniclass Work Result from a recommendation based on previous projects 43
xiii
List of Tables
21 Mapping between the tables from OmniClass and Uniclass adapted from [4] 11
31 Applicability analysis of the systems for semantic clarity in BIM studied for this work 22
32 Applicability analysis of the recommender systems studied for this work The recommen-
dation quality is evaluated in High ( ) Medium (G) and Not Applicable(-) 23
xv
1Introduction
Contents11 Motivation 312 Methodology and Contributions 313 Document Organization 4
1
Building Information Models (BIM) have emerged as a way to promote the exchange of information
about a construction project between all of its stakeholders during its lifestyle Currently the Industry
Foundation Classes (IFC) exchange format is a BIM standard that contains information about build-
ing design planning or construction management Although IFC is very complete in some cases its
construction elements can have multiple definitions because of the need to represent objects and rela-
tionships for a wide range of Architecture Engineering and Construction (AEC) domains [1] For exam-
ple a precast floor slab a construction element can be defined in IFC as a rsquoBoundary Representation
bounding boxrsquo for clash detection as rsquosolid extrusionsrsquo of individual pieces for fabrication as rsquobuilding
entitiesrsquo without explicit geometry for production and delivery sequencing and as a rsquoslab aggregationrsquo
for other purposes All of these classes are distinct representations of the same construction element
and this happens because the rules for choosing the most suitable class due to the context of the project
are not defined Indeed studies show that without well-defined exchange model views the exchanges
are vulnerable to errors omissions contradictions and misinterpretations since they reduce or simplify
the information [2] In other words IFC lacks semantic clarity [3] One way to clarify the semantics of
IFC consists of mapping them to classification systems such as OmniClass [4] or UniClass [5] Thereby
classifying IFCrsquos information and addressing the multiple definitions problem This process which nowa-
days is mostly done manually is called semantic enrichment of the IFC model To perform semantic
enrichment manually one needs to combine multiple tables from a classification system and for projects
with similar profiles but different IFC models all the work has to be repeated since there is no way of
reusing past classifications from similar projects This task is tedious time consuming and error-prone
One of the applications for performing semantic enrichment on IFC models is for activity planning in
construction projects In various cases the same IfcElement [6] can have different activities assigned
to it depending on the profile of the project in question This problem can be addressed with a rec-
ommendation algorithm to help choose the most suitable assignments of activities depending on the
project
Two solutions have been proposed in literature for the semantic enrichment of IFC models see-
BIM [7] performs semantic enrichment to IFC models with a rule-based engine However it does not
make use of classification systems proposing a complex and not easily usable solution Object Profile
Manager [8] is an IFC-compliant object-CAD based and Web Ontology Language (OWL) ontology ap-
proach for semantic interoperability for BIM However Computer-Aided Design (CAD) modelling is out of
the scope of this work Both of these approaches aim at solving the problem this thesis will attempt to
solve but both are incomplete
In the field of recommendations two kinds of algorithms were explored rule based and clustering
With a rule-based algorithm such as Apriori [9] the goal is to find elements that have a high probability
of always belonging to the same set For example in a e-commerce platform the goal is to find the
items that are frequently bought together and create an association rule between them On the other
side with clustering or nearest neighbours algorithms the goal is to create groups based on a similarity
function From the previous example the goal here is to find customers with similar tastes by grouping
them together based on common bought items [9 10]
2
This works aims at validating the feasibility of using a recommender system BIMLink to simplify
and reduce the time spent while classifying complex information extracted from an IFC file For a given
project the system will have stored information from previous projects that are similar and will suggest
activity assignments that are similar The similarity of the projects is calculated according to the project
profile defined by its type and the region it is located in These suggestions will be based on a recom-
mendation algorithm that suggests the activities based on a calculated weight for each association This
weight is modified every time a suggestion is either correct or incorrect The algorithm will always aim to
suggest the associations with the higher weights according to previous similar projects The only tasks
the user needs to perform is validate the suggestions and add missing ones or delete incorrect ones
In order to evaluate the success of the system user tests will be conducted to conclude the usability
of the system and if it indeed does reduce the time spent while performing activity planning Also internal
performance tests on the algorithm will be performed to determine the quality of the recommendations
With this system it is expected that the time spent with activity planning will be reduced significantly
and the degree of complexity of this task will also decrease As for the semantic enrichment of the IFC
models it is expected that after performing the classifications in the case of this work performing the
assignment of activities to IFC elements the ambiguity will be extremely reduced and so will IFCrsquos lack
of semantic clarity
11 Motivation
When performing activity planning for a construction project there are two outcomes that are of
extreme importance for an efficient plan These are the resources that are needed for each activity as
well as the cost of each activity These measures will help determine the feasibility and success of the
construction project
To achieve the highest level of accuracy for the plan the activities need to be carefully assigned to
the right elements This can be an issue due to the fact that the chosen activity for a given construction
element depends on the context of the construction project For example one construction element
such as a door can be assigned one activity in one project such as assembling the door and another
activity for instance painting in another project If for some reason the wrong activity is assigned
the wrong construction element the resources and cost for that activity can be miscalculated This is
why a system that aids with activity planning reducing errors in activity assignment is needed which is
portrayed in Figure 11 This system uses the Omniclass Classification System by mapping Omniclass
Products to Omniclass Work results which represent the elements and activities respectively
12 Methodology and Contributions
This work has two main goals The first is to perform a literature review that intends to conclude if
there is currently any solution for Semantic Enrichment of IFC models with the Omniclass Classification
System The second goal of this work is to develop a solution that provides a way to semantically enrich
IFC models with the Omniclass Classification System while resorting to a recommendation algorithm so
3
Figure 11 The dashed lines represent the goal to achieve with the proposed solution a direct mapping betweenIFC Elements and activities extracted from OmniClass standard
that the time the user needs to spend enriching the model with activities is reduced To fulfill these goals
this work will be conducted as follows
bull Description of the concepts concerning BIM and recommendation algorithms
bull Analysis of the solutions used for Semantic Enrichment
bull Analysis of the most popular recommender systems
bull Identify in the literature the most suitable recommendation technique
bull Formalize an algorithm that fulfils the goal of the system
bull Develop an application BIMLink that fulfils the requirements of the system by using the formalized
algorithm to perform recommendations of the IFC files
bull Perform tests on the solution in order to validate the accuracy of the algorithm and feasibility of the
system
13 Document Organization
This manuscript is structured as follows Section 2 introduces the fundamental concepts of Building
Information Models as well as recommendation algorithms Section 3 details the related work in the
areas of BIM concerning Semantic Enrichment and recommender systems This section ends with an
analysis of the applicability of the presented systems to the problem to be solved Section 4 presents
a conceptual overview of the solution describing the relevant information from the IFC files as well as
formalizing the algorithm It also presents the domain model the requirements the system must fulfil
and the architecture of the solution Section 5 outlines the implementation details of the systemrsquos main
features Section 6 describes the validation plan and the results and finally Section 7 presents the
conclusions
4
2Concepts
Contents21 Building Information Modelling 622 Omniclass Classification System 1023 Ontologies 1224 Recommendation Algorithms 13
5
This section presents the concepts that are relevant for the understanding of the problem of this
work The first concept to be described is BIM 21 where its main features are presented Next Clas-
sification Systems 222 namely OmniClasses and their properties are discussed A brief overview of
Ontologies23 in the field of this work is presented Finally an analysis on Recommendation Algorithms
244
21 Building Information Modelling
BIM is an open technology for digital building modelling According to the National Institute of Building
Sciences (NIBS)1 BIM can be described as an improved planning design construction operation and
maintenance process using a standardized machine readable information model for each facility new or
old which contains all appropriate information created or gathered about that facility in a format usable
by all throughout its life cycle [11 12]
BIM was created as a solution for the need to simplify the process of exchanging information between
the activities in buildingrsquos AECO phases Now it is possible for example that the initial drafts made by
the architects are given to the engineers through digital means This contributes to savings on paper
support since the processes are fully digital and reduces the complexity inherent to the construction
process while making it faster
BIM also has the advantage of enabling collaboration among the stakeholders For instance the
architect adds sketches of the building as well as itrsquos equipment the structural engineer modifies it to
comply with physical principles the builder uses it to help on the construction phase and the building
manager bases on it to operate the facility properly It is clear that all the projectrsquos stakeholders can
contribute to the model according to each onersquos area of expertise on each phase of the building life cycle
Another important aspect is that BIM makes most of the processes related to buildings more agile saving
in bureaucracy and enabling error traceability For example using a tool to build the three-dimensional
model of the facility one can easily check for collisions between different systems or construction errors
like a tube being exposed to the outside of the building roof [11 13 pp 21-22 24]
211 BIM Tools Platforms and Environments
Having a single model containing the facilityrsquos data enables integration of a wide variety of tools that
work the model not only for editing it but also for extracting information useful to analyse the facil-
ity Some of them are design tools but there are others that consider a set of other functionality BIM
tools are used with the purpose of executing specific tasks considering the building model such as
cost estimation energy simulation errorclash detection and many others BIM platforms are used to
help develop BIMs providing an UI for designing building products Finally BIM environments combine
functionality from the two above providing integration between BIM tools and platforms inside an orga-
nization BIM environments are useful for automating the generation of BIM reports and data sets from
the building mode [11 70 71]
1httpwwwnibsorg
6
212 BIM Schemas
While the BIM model describes information regarding an instance of a building a BIM schema pro-
vides a structure to enable the representation of constructs defining how each element of the building
is described through elements properties and relationships In practice a BIM model is an instance of
a building that can be stored in a common format based on the structure described in the schema
BIM schemas can be internal or external On one hand an internal BIM schema represents the way
BIM tools model the information of the building their modelling constructs and knowledge On the other
hand an external BIM schema represents a common model independent from the applications used
to enable interoperability among them Furthermore an internal schema describes concepts regarding
a tool or project phase while an external schema is used for exchange among the several phases of the
project [14]
213 Model View Definitions
In order to adapt to the complexity that comes from the fact that BIM models contain information about
several aspects regarding the building from design to operation Model View Definitions (MVDs) define
subset models regarding fewer aspects of the building These views define a simpler and more specific
set of data for use in a given scenario when needed by the different stakeholders [15] BIM exchange
formats such as IFC are provided with a set of these MVD which define simpler models used in specific
applications or by specific stakeholders For each exchange scenario MVDs help define what is and
what is not in the scope of each exchange scenario Some formatsmdashCOBie for examplemdashare intended
to resolve the problem of handover by representing information typically required to be delivered from
one stage to another like from construction to operation [11 pp 120-122]
214 Exchange Formats
One of the most important properties of BIM tools and platforms is their interoperability and to
achieve that the information must flow from one to another in an independent format that is understood
by different applications In order to achieve this requirement exchange formats are developedThe first
information exchange formats Drawing eXchange Format (DXF) and Initial Graphic Exchange Spec-
ification (IGES) appeared in the 1980s and had only geometric data on building With the efforts on
developing BIM these evolved into formats like IFC which contain information about building design
planning or construction management or CIMsteel Integration Standard 2 (CIS2) for representing fab-
rication and structural engineering of steel Modelling languages like EXPRESS or EXtensible Markup
Language (XML) are used in these exchange formats so that information can be passed through a file
base exchange [11 pp 99-104]
7
Figure 21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of the IFC struc-ture Each schema relates to a different concern
215 Industry Foundation Classes
IFC is an open exchange format for sharing building data across the several stakeholders of its project
and operation which was created by buildingSMART2 (former International Alliance for Interoperability)
and as of March 2013 it is a published international standard ISO 16739 It is designed to model all
the existing data throughout the buildingrsquos life cycle and is the actual standard format for openBIM3
a software tool kit for developing BIM extensions IFC makes the model extensible and interoperable
by enabling the modeller to create new definitions since it is based on a meta model that broads the
definition of Class [16] In 2010 the IFC Certification 20 procedure was developed by BuildingSmart
for the IFC 2x3 Coordination View Version (CV20) which is an MVD intended to promote consistent and
reliable implementations of the IFC specification by many software vendors across multiple platforms [7]
IFCs are modelled recurring to the EXPRESS language to describe the classes mentioned above
These classes are comprised by the specification of an object and its attributes Each objectrsquos semantic
is described by said attributes These objects are connected by relations There are three main types
of classes object relation and resource classes Object classes represent the several entities inside
a building which are identified by a global identifier and a ownership identifier Each object class has
attributes that describe its details and the context where it is being used (such as topology geometry
etc) Relation classes represent the way elements connect to other objects There are many kinds
of relation classes that implement diverse types of interaction such as aggregation containment or
control The applicability of each relation is limited in other words relations specify which objects can
be bound to them Resource classes represent the attributes used to describe entities [17]
IFC structuremdashthat can be found in buildingSMARTrsquos website4 is composed of data schemas each
one relating to a different concern As Figure 21 depicts the data schemas divide in four conceptual
layers[18] Starting from the bottom there is the Resource Layer which represents individual business
concerns such as costs geometry or material The schemas in this layer are used to define properties
of classes from the remaining layers Next there is the Core Layer which is divided in Kernel and Core
extension schemas include the most abstract entities that are specified by the ones from the following
layers (Domain and Interoperability) The entities from Core layer are identified by a global ID and an
2httpwwwbuildingsmartorg3httpwwwopenbimorg4httpwwwbuildingsmart-techorgifcIFC4finalhtmlindexhtm
8
optional Ownership ID and historical data Following the Core Layer there is the Interoperability Layer
and contains the models related to concepts that are used by two or more models from the Domain
Layer This layer has the purpose of enabling inter-domain exchange and information sharing between
the upper levelrsquos classes Finally the highest layer is the Domain Layer which includes the entities that
concern to specializations of products processes or resources from a specific discipline
In the context of this work it is very important to understand how the information concerning a
BIM model is represented in an IFC schema in order to structure that information and feed it to the
recommendation algorithm As represented in Figure 21 the information that is of most relevance to
this work belongs to the resource layer It is in this layer that we find the elements the recommendation
algorithm will need These elements can be for example a door a column the floor in which an object
is in or the relation between a window and a wall To illustrate this a practical example [19] of a how a
window can be placed inside a wall is illustrated
To insert a window or door in a wall it is required to create an opening For this the following entities
are relevant IfcWall IfcOpeningElement IfcWindow These entities need to be connected via relative
placement and via topological connection Each physical object has a placement The placement is rep-
resented by IfcLocalPlacement and can be relative to an IfcLocalPlacement of another physical object
(in case of aggregation feature or filling relation) or of an spatial structure element This process of local
placements is recursive IfcWall IfcOpeningElement and IfcWindow each have their own IfcLocalPlace-
ment however the IfcLocalPlacement of IfcWindow is defined relatively to the IfcLocalPlacement of
IfcOpeningElement and the IfcLocalPlacement of IfcOpeningElement is defined relatively to the IfcLo-
calPlacement of IfcWall The IfcWall and IfcOpeningElement are connected via the objectified relation
IfcRelVoidsElement The IfcRelVoidsElement is connected with the wall via the relationship Relating-
BuildingElement and to the opening element via the relationship RelatedOpeningElement Through
the inverse relationships it is possible to traverse from wall to opening element and vice versa The
IfcOpeningElement and IfcWindow are connected via the objectified relation IfcRelFillsElement The
IfcRelFillsElement is connected with the opening element via the relationship RelatingOpeningElement
and to the window via the relationship RelatedBuildingElement Through the inverse relationships it is
possible to traverse from opening element to window and vice versa The geometric representation of
this example is presented in Figure 23
From the example described above it is clear that when performing activity planning it is very impor-
tant to have two classes of the IFC model well defined the IfcElements and their relationships because
although in different projects a window is used itrsquos relationship to the other elements is crucial to decide
which activity to associate to the window
216 COBie
COBie can be defined as a MVD5 over BIM In other words it consists on a subset of information from
the building Its main use is as an data exchange format by construction teams to handover operational
and maintenance information collected during AEC phases to the facility owner as construction finishes5httpdocsbuildingsmartallianceorgMVD_COBIE
9
Figure 22 Geometric representation of wall opening and window A - 3D representation of the object B - List ofobject parameters
such as equipment lists preventive maintenance schedules or warranty information It can be viewed
in spreadsheets or imported by specific tools for visualization COBie was created to eliminate the
excess of paper usage arising from the information delivered to the building manager when the project
finishes Moreover information took too much time to be compiled since some documents had to be
recreated causing the information to be delivered much later than the expected Once the building
model is constantly updated as the project goes by there is no need to recreate information about what
happened in a given phase and therefore it reaches facility managers quicker with minimum delay [20]
22 Omniclass Classification System
The OmniClass Construction Classification System 6 commonly known as OmniClass or OCCS is
a classification system for the construction industry which is created by the North American AEC indus-
try It is useful for many applications in the area of BIM from organizing reports and object libraries to
providing a way to roll up or drill down through data to get the information that meets the needs of the
projectrsquos stakeholders In simple terms OmniClass is a standard for organizing all construction informa-
tion This information is structured in the form of tables OmniClass bases its tables in other systems that
are not in use any more Those systems are MasterFormat [21] UniFormat [22] and EPIC (Electronic
Product Information Cooperation) for work results elements and products respectively OmniClass fol-
lows the international framework set out in ISOTR 14177 This document was later established as a
standard in ISO 12006-2 Organization of Information about Construction Works - Part 2 Framework for
Classification of Information
221 OmniClass Tables
OmniClass is designed to provide a standardized basis for classifying information and is intended to
be the means for organizing sorting and retrieving information and deriving relational computer applica-6httpwwwomniclassorg
10
Omniclass Uniclass
Table 11 ndash Construction Entities by Function Table D ndash FacilitiesTable 12 ndash Construction Entities by Form Table E ndash Construction EntitiesTable 13 ndash Spaces by Function Table F ndash SpacesTable 14 ndash Spaces by Form Table F ndash Spaces
Table 21 ndash Elements Table G ndash Elements for BuildingsTable H ndash Elements for Civil Engineering Works
Table 22 ndash Work Results Table J ndash Work Sections for BuildingsTable K ndash Work Sections for Civil Engineering Works
Table 23 ndash Products Table L ndash Construction ProductsTable 31 ndash Phases Table C ndash Management (in part)Table 32 ndash Services OmniClass Table B ndash Subject DisciplinesTable 33 ndash Disciplines Table B ndash Subject DisciplinesTable 34 ndash Organizational Roles Table C ndash Management (in part)Table 35 ndash Tools Table M ndash Construction AidsTable 36 ndash Information Table A ndash Forms of InformationTable 41 ndash Materials Table P ndash MaterialsTable 49 ndash Properties Table N ndash Properties and Characteristics
Table 21 Mapping between the tables from OmniClass and Uniclass adapted from [4]
tions To fulfil this the system consists of 15 hierarchical tables each representing a different aspect of
construction information The tables can be used individually or combined when a more complex type of
information needs to be classified [4] Tables 11-12 are used to organize construction results Tables 23
33 34 and 35 and to a lesser extent 36 and 41 are used to organize construction resources And finally
tables 31 and 32 are used to classify construction processes including the phases of construction entity
life cycles The 15 tables of Omniclass also map to the suggested tables in Section 4 of ISO 12002-2
The most important characteristic of these tables is that they are designed to work together to provide
extremely granular or specific classification Depending on the complexity of the object being classified
and the level of detail desired an object can have occurrences in one two or more tables For example
when trying to describe the workcost relationship that states that if a wall is battered 30 of labour
cost is added and if the wall is curved an extra 30 is added there is a need to combine table 23 where
we can find the products and table 22 where the work results are stated and reflect the activities to be
performed on such products
222 Uniclass
The Unified Classification System for the Construction Industry is the United Kingdomrsquos equivalent
to Omniclass From an early point there has always been a collaboration between the developers of
both OmniClass and Uniclass in order to promote a harmonized international standard The mapping
between the tables from OmniClass to Uniclass is presented in Table 21
23 Ontologies
An ontology is a formal representation of an abstracted view of a domain that describes the objects
concepts and relationships between them that holds in that domain for a specific purpose [23] There
11
Figure 23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L - ConstructionProducts (B) where it is clear the tree structure of Omniclass tables
are different classifications of ontologies based on parameters such as level of granularity their use
and types of relationships [24ndash27] The process of ontology modelling consists of modelling the con-
cepts and relationships in a specific field into formal ontologies ie in an ontology language with formal
syntax [28] Ontology engineering is useful for enabling interoperability across heterogeneous systems
because it provides the necessary semantics for many fields of knowlegde and facilitates knowledge
reuse sharing and integration [29 30] In the context of this work ontologies help with IFCrsquos lack of
semantic clarity in mapping entities and relationships which can result in the potential for multiple data
structures to represent the same information [3] The goal of ontology development is to remove am-
biguities associated with different viewpoints and formalize IFC definitions for a robust model exchange
solution [31] Also ontologies are one of the key technologies to deal with the semantic interoperablity
caused by the need to share semantics of BIM among project participants who do not necessarily share
the same definition of terminologies [8] Ontologies specify the semantic of terminology systems in a
well defined and unambiguous manner [32] by formally and explicitly representing shared unterstanding
about domain concepts and the relationships between concepts
ifcOWL emerges as a solution to the problem presented above by being an ontology based on
the industry foundation classes This ontology was created semi automatically by BuildingSmart by
lifting an EXPRESS schema into an ontological level by transforming the language constructs from
the schema into a terminology box definition using Web Ontology Language [33] Using OWL (Web
Ontology Language) [34] the intended meanings of domain technologies and relations are specified
through various OWL constructs which have implemented OWL semantics and logical axioms in an
easy-to-use way [8] Another approach to solve IFCrsquos lack of semantic clarity are the OmniClass tables
described in which present a structured source for an ontology
12
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Appendix B Validation Protocol B-1
Appendix C Satisfaction Questionnaire C-1
Appendix D Satisfaction Questionnaire Results D-1
xi
List of Figures
11 The dashed lines represent the goal to achieve with the proposed solution a direct map-
ping between IFC Elements and activities extracted from OmniClass standard 4
21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of
the IFC structure Each schema relates to a different concern 8
22 Geometric representation of wall opening and window A - 3D representation of the
object B - List of object parameters 10
23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L -
Construction Products (B) where it is clear the tree structure of Omniclass tables 12
31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of
execution that allows an IFC model to be enriched by the rule processing engine 18
41 BIMLinkrsquos use case 27
51 BIMLinkrsquos Data model 33
52 Layered architecture - conceptual layers on which the design on the application is based 34
53 MVC message flow 34
54 Sample route definition 35
55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of mes-
sages exchanged (1) - Requestsreplies between client and application and (2) - Queriesreplies
tofrom the database 36
56 Classification of an IfcColumn Here it is possible to see that the definition of a classifica-
tion reference list all the objects subject to such classification 38
57 Decision tree followed by the algorithm to create associations between products and work
results 39
58 Work flow to find the best work result code for a product 40
61 Project page for the ClinicOPO project after adding the code in HouseLx project A -
List of IfcbjectDefinitionrsquos extracted from the IFC file showing the pre-filled field for the
Omniclass Work Result from a recommendation based on previous projects 43
xiii
List of Tables
21 Mapping between the tables from OmniClass and Uniclass adapted from [4] 11
31 Applicability analysis of the systems for semantic clarity in BIM studied for this work 22
32 Applicability analysis of the recommender systems studied for this work The recommen-
dation quality is evaluated in High ( ) Medium (G) and Not Applicable(-) 23
xv
1Introduction
Contents11 Motivation 312 Methodology and Contributions 313 Document Organization 4
1
Building Information Models (BIM) have emerged as a way to promote the exchange of information
about a construction project between all of its stakeholders during its lifestyle Currently the Industry
Foundation Classes (IFC) exchange format is a BIM standard that contains information about build-
ing design planning or construction management Although IFC is very complete in some cases its
construction elements can have multiple definitions because of the need to represent objects and rela-
tionships for a wide range of Architecture Engineering and Construction (AEC) domains [1] For exam-
ple a precast floor slab a construction element can be defined in IFC as a rsquoBoundary Representation
bounding boxrsquo for clash detection as rsquosolid extrusionsrsquo of individual pieces for fabrication as rsquobuilding
entitiesrsquo without explicit geometry for production and delivery sequencing and as a rsquoslab aggregationrsquo
for other purposes All of these classes are distinct representations of the same construction element
and this happens because the rules for choosing the most suitable class due to the context of the project
are not defined Indeed studies show that without well-defined exchange model views the exchanges
are vulnerable to errors omissions contradictions and misinterpretations since they reduce or simplify
the information [2] In other words IFC lacks semantic clarity [3] One way to clarify the semantics of
IFC consists of mapping them to classification systems such as OmniClass [4] or UniClass [5] Thereby
classifying IFCrsquos information and addressing the multiple definitions problem This process which nowa-
days is mostly done manually is called semantic enrichment of the IFC model To perform semantic
enrichment manually one needs to combine multiple tables from a classification system and for projects
with similar profiles but different IFC models all the work has to be repeated since there is no way of
reusing past classifications from similar projects This task is tedious time consuming and error-prone
One of the applications for performing semantic enrichment on IFC models is for activity planning in
construction projects In various cases the same IfcElement [6] can have different activities assigned
to it depending on the profile of the project in question This problem can be addressed with a rec-
ommendation algorithm to help choose the most suitable assignments of activities depending on the
project
Two solutions have been proposed in literature for the semantic enrichment of IFC models see-
BIM [7] performs semantic enrichment to IFC models with a rule-based engine However it does not
make use of classification systems proposing a complex and not easily usable solution Object Profile
Manager [8] is an IFC-compliant object-CAD based and Web Ontology Language (OWL) ontology ap-
proach for semantic interoperability for BIM However Computer-Aided Design (CAD) modelling is out of
the scope of this work Both of these approaches aim at solving the problem this thesis will attempt to
solve but both are incomplete
In the field of recommendations two kinds of algorithms were explored rule based and clustering
With a rule-based algorithm such as Apriori [9] the goal is to find elements that have a high probability
of always belonging to the same set For example in a e-commerce platform the goal is to find the
items that are frequently bought together and create an association rule between them On the other
side with clustering or nearest neighbours algorithms the goal is to create groups based on a similarity
function From the previous example the goal here is to find customers with similar tastes by grouping
them together based on common bought items [9 10]
2
This works aims at validating the feasibility of using a recommender system BIMLink to simplify
and reduce the time spent while classifying complex information extracted from an IFC file For a given
project the system will have stored information from previous projects that are similar and will suggest
activity assignments that are similar The similarity of the projects is calculated according to the project
profile defined by its type and the region it is located in These suggestions will be based on a recom-
mendation algorithm that suggests the activities based on a calculated weight for each association This
weight is modified every time a suggestion is either correct or incorrect The algorithm will always aim to
suggest the associations with the higher weights according to previous similar projects The only tasks
the user needs to perform is validate the suggestions and add missing ones or delete incorrect ones
In order to evaluate the success of the system user tests will be conducted to conclude the usability
of the system and if it indeed does reduce the time spent while performing activity planning Also internal
performance tests on the algorithm will be performed to determine the quality of the recommendations
With this system it is expected that the time spent with activity planning will be reduced significantly
and the degree of complexity of this task will also decrease As for the semantic enrichment of the IFC
models it is expected that after performing the classifications in the case of this work performing the
assignment of activities to IFC elements the ambiguity will be extremely reduced and so will IFCrsquos lack
of semantic clarity
11 Motivation
When performing activity planning for a construction project there are two outcomes that are of
extreme importance for an efficient plan These are the resources that are needed for each activity as
well as the cost of each activity These measures will help determine the feasibility and success of the
construction project
To achieve the highest level of accuracy for the plan the activities need to be carefully assigned to
the right elements This can be an issue due to the fact that the chosen activity for a given construction
element depends on the context of the construction project For example one construction element
such as a door can be assigned one activity in one project such as assembling the door and another
activity for instance painting in another project If for some reason the wrong activity is assigned
the wrong construction element the resources and cost for that activity can be miscalculated This is
why a system that aids with activity planning reducing errors in activity assignment is needed which is
portrayed in Figure 11 This system uses the Omniclass Classification System by mapping Omniclass
Products to Omniclass Work results which represent the elements and activities respectively
12 Methodology and Contributions
This work has two main goals The first is to perform a literature review that intends to conclude if
there is currently any solution for Semantic Enrichment of IFC models with the Omniclass Classification
System The second goal of this work is to develop a solution that provides a way to semantically enrich
IFC models with the Omniclass Classification System while resorting to a recommendation algorithm so
3
Figure 11 The dashed lines represent the goal to achieve with the proposed solution a direct mapping betweenIFC Elements and activities extracted from OmniClass standard
that the time the user needs to spend enriching the model with activities is reduced To fulfill these goals
this work will be conducted as follows
bull Description of the concepts concerning BIM and recommendation algorithms
bull Analysis of the solutions used for Semantic Enrichment
bull Analysis of the most popular recommender systems
bull Identify in the literature the most suitable recommendation technique
bull Formalize an algorithm that fulfils the goal of the system
bull Develop an application BIMLink that fulfils the requirements of the system by using the formalized
algorithm to perform recommendations of the IFC files
bull Perform tests on the solution in order to validate the accuracy of the algorithm and feasibility of the
system
13 Document Organization
This manuscript is structured as follows Section 2 introduces the fundamental concepts of Building
Information Models as well as recommendation algorithms Section 3 details the related work in the
areas of BIM concerning Semantic Enrichment and recommender systems This section ends with an
analysis of the applicability of the presented systems to the problem to be solved Section 4 presents
a conceptual overview of the solution describing the relevant information from the IFC files as well as
formalizing the algorithm It also presents the domain model the requirements the system must fulfil
and the architecture of the solution Section 5 outlines the implementation details of the systemrsquos main
features Section 6 describes the validation plan and the results and finally Section 7 presents the
conclusions
4
2Concepts
Contents21 Building Information Modelling 622 Omniclass Classification System 1023 Ontologies 1224 Recommendation Algorithms 13
5
This section presents the concepts that are relevant for the understanding of the problem of this
work The first concept to be described is BIM 21 where its main features are presented Next Clas-
sification Systems 222 namely OmniClasses and their properties are discussed A brief overview of
Ontologies23 in the field of this work is presented Finally an analysis on Recommendation Algorithms
244
21 Building Information Modelling
BIM is an open technology for digital building modelling According to the National Institute of Building
Sciences (NIBS)1 BIM can be described as an improved planning design construction operation and
maintenance process using a standardized machine readable information model for each facility new or
old which contains all appropriate information created or gathered about that facility in a format usable
by all throughout its life cycle [11 12]
BIM was created as a solution for the need to simplify the process of exchanging information between
the activities in buildingrsquos AECO phases Now it is possible for example that the initial drafts made by
the architects are given to the engineers through digital means This contributes to savings on paper
support since the processes are fully digital and reduces the complexity inherent to the construction
process while making it faster
BIM also has the advantage of enabling collaboration among the stakeholders For instance the
architect adds sketches of the building as well as itrsquos equipment the structural engineer modifies it to
comply with physical principles the builder uses it to help on the construction phase and the building
manager bases on it to operate the facility properly It is clear that all the projectrsquos stakeholders can
contribute to the model according to each onersquos area of expertise on each phase of the building life cycle
Another important aspect is that BIM makes most of the processes related to buildings more agile saving
in bureaucracy and enabling error traceability For example using a tool to build the three-dimensional
model of the facility one can easily check for collisions between different systems or construction errors
like a tube being exposed to the outside of the building roof [11 13 pp 21-22 24]
211 BIM Tools Platforms and Environments
Having a single model containing the facilityrsquos data enables integration of a wide variety of tools that
work the model not only for editing it but also for extracting information useful to analyse the facil-
ity Some of them are design tools but there are others that consider a set of other functionality BIM
tools are used with the purpose of executing specific tasks considering the building model such as
cost estimation energy simulation errorclash detection and many others BIM platforms are used to
help develop BIMs providing an UI for designing building products Finally BIM environments combine
functionality from the two above providing integration between BIM tools and platforms inside an orga-
nization BIM environments are useful for automating the generation of BIM reports and data sets from
the building mode [11 70 71]
1httpwwwnibsorg
6
212 BIM Schemas
While the BIM model describes information regarding an instance of a building a BIM schema pro-
vides a structure to enable the representation of constructs defining how each element of the building
is described through elements properties and relationships In practice a BIM model is an instance of
a building that can be stored in a common format based on the structure described in the schema
BIM schemas can be internal or external On one hand an internal BIM schema represents the way
BIM tools model the information of the building their modelling constructs and knowledge On the other
hand an external BIM schema represents a common model independent from the applications used
to enable interoperability among them Furthermore an internal schema describes concepts regarding
a tool or project phase while an external schema is used for exchange among the several phases of the
project [14]
213 Model View Definitions
In order to adapt to the complexity that comes from the fact that BIM models contain information about
several aspects regarding the building from design to operation Model View Definitions (MVDs) define
subset models regarding fewer aspects of the building These views define a simpler and more specific
set of data for use in a given scenario when needed by the different stakeholders [15] BIM exchange
formats such as IFC are provided with a set of these MVD which define simpler models used in specific
applications or by specific stakeholders For each exchange scenario MVDs help define what is and
what is not in the scope of each exchange scenario Some formatsmdashCOBie for examplemdashare intended
to resolve the problem of handover by representing information typically required to be delivered from
one stage to another like from construction to operation [11 pp 120-122]
214 Exchange Formats
One of the most important properties of BIM tools and platforms is their interoperability and to
achieve that the information must flow from one to another in an independent format that is understood
by different applications In order to achieve this requirement exchange formats are developedThe first
information exchange formats Drawing eXchange Format (DXF) and Initial Graphic Exchange Spec-
ification (IGES) appeared in the 1980s and had only geometric data on building With the efforts on
developing BIM these evolved into formats like IFC which contain information about building design
planning or construction management or CIMsteel Integration Standard 2 (CIS2) for representing fab-
rication and structural engineering of steel Modelling languages like EXPRESS or EXtensible Markup
Language (XML) are used in these exchange formats so that information can be passed through a file
base exchange [11 pp 99-104]
7
Figure 21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of the IFC struc-ture Each schema relates to a different concern
215 Industry Foundation Classes
IFC is an open exchange format for sharing building data across the several stakeholders of its project
and operation which was created by buildingSMART2 (former International Alliance for Interoperability)
and as of March 2013 it is a published international standard ISO 16739 It is designed to model all
the existing data throughout the buildingrsquos life cycle and is the actual standard format for openBIM3
a software tool kit for developing BIM extensions IFC makes the model extensible and interoperable
by enabling the modeller to create new definitions since it is based on a meta model that broads the
definition of Class [16] In 2010 the IFC Certification 20 procedure was developed by BuildingSmart
for the IFC 2x3 Coordination View Version (CV20) which is an MVD intended to promote consistent and
reliable implementations of the IFC specification by many software vendors across multiple platforms [7]
IFCs are modelled recurring to the EXPRESS language to describe the classes mentioned above
These classes are comprised by the specification of an object and its attributes Each objectrsquos semantic
is described by said attributes These objects are connected by relations There are three main types
of classes object relation and resource classes Object classes represent the several entities inside
a building which are identified by a global identifier and a ownership identifier Each object class has
attributes that describe its details and the context where it is being used (such as topology geometry
etc) Relation classes represent the way elements connect to other objects There are many kinds
of relation classes that implement diverse types of interaction such as aggregation containment or
control The applicability of each relation is limited in other words relations specify which objects can
be bound to them Resource classes represent the attributes used to describe entities [17]
IFC structuremdashthat can be found in buildingSMARTrsquos website4 is composed of data schemas each
one relating to a different concern As Figure 21 depicts the data schemas divide in four conceptual
layers[18] Starting from the bottom there is the Resource Layer which represents individual business
concerns such as costs geometry or material The schemas in this layer are used to define properties
of classes from the remaining layers Next there is the Core Layer which is divided in Kernel and Core
extension schemas include the most abstract entities that are specified by the ones from the following
layers (Domain and Interoperability) The entities from Core layer are identified by a global ID and an
2httpwwwbuildingsmartorg3httpwwwopenbimorg4httpwwwbuildingsmart-techorgifcIFC4finalhtmlindexhtm
8
optional Ownership ID and historical data Following the Core Layer there is the Interoperability Layer
and contains the models related to concepts that are used by two or more models from the Domain
Layer This layer has the purpose of enabling inter-domain exchange and information sharing between
the upper levelrsquos classes Finally the highest layer is the Domain Layer which includes the entities that
concern to specializations of products processes or resources from a specific discipline
In the context of this work it is very important to understand how the information concerning a
BIM model is represented in an IFC schema in order to structure that information and feed it to the
recommendation algorithm As represented in Figure 21 the information that is of most relevance to
this work belongs to the resource layer It is in this layer that we find the elements the recommendation
algorithm will need These elements can be for example a door a column the floor in which an object
is in or the relation between a window and a wall To illustrate this a practical example [19] of a how a
window can be placed inside a wall is illustrated
To insert a window or door in a wall it is required to create an opening For this the following entities
are relevant IfcWall IfcOpeningElement IfcWindow These entities need to be connected via relative
placement and via topological connection Each physical object has a placement The placement is rep-
resented by IfcLocalPlacement and can be relative to an IfcLocalPlacement of another physical object
(in case of aggregation feature or filling relation) or of an spatial structure element This process of local
placements is recursive IfcWall IfcOpeningElement and IfcWindow each have their own IfcLocalPlace-
ment however the IfcLocalPlacement of IfcWindow is defined relatively to the IfcLocalPlacement of
IfcOpeningElement and the IfcLocalPlacement of IfcOpeningElement is defined relatively to the IfcLo-
calPlacement of IfcWall The IfcWall and IfcOpeningElement are connected via the objectified relation
IfcRelVoidsElement The IfcRelVoidsElement is connected with the wall via the relationship Relating-
BuildingElement and to the opening element via the relationship RelatedOpeningElement Through
the inverse relationships it is possible to traverse from wall to opening element and vice versa The
IfcOpeningElement and IfcWindow are connected via the objectified relation IfcRelFillsElement The
IfcRelFillsElement is connected with the opening element via the relationship RelatingOpeningElement
and to the window via the relationship RelatedBuildingElement Through the inverse relationships it is
possible to traverse from opening element to window and vice versa The geometric representation of
this example is presented in Figure 23
From the example described above it is clear that when performing activity planning it is very impor-
tant to have two classes of the IFC model well defined the IfcElements and their relationships because
although in different projects a window is used itrsquos relationship to the other elements is crucial to decide
which activity to associate to the window
216 COBie
COBie can be defined as a MVD5 over BIM In other words it consists on a subset of information from
the building Its main use is as an data exchange format by construction teams to handover operational
and maintenance information collected during AEC phases to the facility owner as construction finishes5httpdocsbuildingsmartallianceorgMVD_COBIE
9
Figure 22 Geometric representation of wall opening and window A - 3D representation of the object B - List ofobject parameters
such as equipment lists preventive maintenance schedules or warranty information It can be viewed
in spreadsheets or imported by specific tools for visualization COBie was created to eliminate the
excess of paper usage arising from the information delivered to the building manager when the project
finishes Moreover information took too much time to be compiled since some documents had to be
recreated causing the information to be delivered much later than the expected Once the building
model is constantly updated as the project goes by there is no need to recreate information about what
happened in a given phase and therefore it reaches facility managers quicker with minimum delay [20]
22 Omniclass Classification System
The OmniClass Construction Classification System 6 commonly known as OmniClass or OCCS is
a classification system for the construction industry which is created by the North American AEC indus-
try It is useful for many applications in the area of BIM from organizing reports and object libraries to
providing a way to roll up or drill down through data to get the information that meets the needs of the
projectrsquos stakeholders In simple terms OmniClass is a standard for organizing all construction informa-
tion This information is structured in the form of tables OmniClass bases its tables in other systems that
are not in use any more Those systems are MasterFormat [21] UniFormat [22] and EPIC (Electronic
Product Information Cooperation) for work results elements and products respectively OmniClass fol-
lows the international framework set out in ISOTR 14177 This document was later established as a
standard in ISO 12006-2 Organization of Information about Construction Works - Part 2 Framework for
Classification of Information
221 OmniClass Tables
OmniClass is designed to provide a standardized basis for classifying information and is intended to
be the means for organizing sorting and retrieving information and deriving relational computer applica-6httpwwwomniclassorg
10
Omniclass Uniclass
Table 11 ndash Construction Entities by Function Table D ndash FacilitiesTable 12 ndash Construction Entities by Form Table E ndash Construction EntitiesTable 13 ndash Spaces by Function Table F ndash SpacesTable 14 ndash Spaces by Form Table F ndash Spaces
Table 21 ndash Elements Table G ndash Elements for BuildingsTable H ndash Elements for Civil Engineering Works
Table 22 ndash Work Results Table J ndash Work Sections for BuildingsTable K ndash Work Sections for Civil Engineering Works
Table 23 ndash Products Table L ndash Construction ProductsTable 31 ndash Phases Table C ndash Management (in part)Table 32 ndash Services OmniClass Table B ndash Subject DisciplinesTable 33 ndash Disciplines Table B ndash Subject DisciplinesTable 34 ndash Organizational Roles Table C ndash Management (in part)Table 35 ndash Tools Table M ndash Construction AidsTable 36 ndash Information Table A ndash Forms of InformationTable 41 ndash Materials Table P ndash MaterialsTable 49 ndash Properties Table N ndash Properties and Characteristics
Table 21 Mapping between the tables from OmniClass and Uniclass adapted from [4]
tions To fulfil this the system consists of 15 hierarchical tables each representing a different aspect of
construction information The tables can be used individually or combined when a more complex type of
information needs to be classified [4] Tables 11-12 are used to organize construction results Tables 23
33 34 and 35 and to a lesser extent 36 and 41 are used to organize construction resources And finally
tables 31 and 32 are used to classify construction processes including the phases of construction entity
life cycles The 15 tables of Omniclass also map to the suggested tables in Section 4 of ISO 12002-2
The most important characteristic of these tables is that they are designed to work together to provide
extremely granular or specific classification Depending on the complexity of the object being classified
and the level of detail desired an object can have occurrences in one two or more tables For example
when trying to describe the workcost relationship that states that if a wall is battered 30 of labour
cost is added and if the wall is curved an extra 30 is added there is a need to combine table 23 where
we can find the products and table 22 where the work results are stated and reflect the activities to be
performed on such products
222 Uniclass
The Unified Classification System for the Construction Industry is the United Kingdomrsquos equivalent
to Omniclass From an early point there has always been a collaboration between the developers of
both OmniClass and Uniclass in order to promote a harmonized international standard The mapping
between the tables from OmniClass to Uniclass is presented in Table 21
23 Ontologies
An ontology is a formal representation of an abstracted view of a domain that describes the objects
concepts and relationships between them that holds in that domain for a specific purpose [23] There
11
Figure 23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L - ConstructionProducts (B) where it is clear the tree structure of Omniclass tables
are different classifications of ontologies based on parameters such as level of granularity their use
and types of relationships [24ndash27] The process of ontology modelling consists of modelling the con-
cepts and relationships in a specific field into formal ontologies ie in an ontology language with formal
syntax [28] Ontology engineering is useful for enabling interoperability across heterogeneous systems
because it provides the necessary semantics for many fields of knowlegde and facilitates knowledge
reuse sharing and integration [29 30] In the context of this work ontologies help with IFCrsquos lack of
semantic clarity in mapping entities and relationships which can result in the potential for multiple data
structures to represent the same information [3] The goal of ontology development is to remove am-
biguities associated with different viewpoints and formalize IFC definitions for a robust model exchange
solution [31] Also ontologies are one of the key technologies to deal with the semantic interoperablity
caused by the need to share semantics of BIM among project participants who do not necessarily share
the same definition of terminologies [8] Ontologies specify the semantic of terminology systems in a
well defined and unambiguous manner [32] by formally and explicitly representing shared unterstanding
about domain concepts and the relationships between concepts
ifcOWL emerges as a solution to the problem presented above by being an ontology based on
the industry foundation classes This ontology was created semi automatically by BuildingSmart by
lifting an EXPRESS schema into an ontological level by transforming the language constructs from
the schema into a terminology box definition using Web Ontology Language [33] Using OWL (Web
Ontology Language) [34] the intended meanings of domain technologies and relations are specified
through various OWL constructs which have implemented OWL semantics and logical axioms in an
easy-to-use way [8] Another approach to solve IFCrsquos lack of semantic clarity are the OmniClass tables
described in which present a structured source for an ontology
12
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
List of Figures
11 The dashed lines represent the goal to achieve with the proposed solution a direct map-
ping between IFC Elements and activities extracted from OmniClass standard 4
21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of
the IFC structure Each schema relates to a different concern 8
22 Geometric representation of wall opening and window A - 3D representation of the
object B - List of object parameters 10
23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L -
Construction Products (B) where it is clear the tree structure of Omniclass tables 12
31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of
execution that allows an IFC model to be enriched by the rule processing engine 18
41 BIMLinkrsquos use case 27
51 BIMLinkrsquos Data model 33
52 Layered architecture - conceptual layers on which the design on the application is based 34
53 MVC message flow 34
54 Sample route definition 35
55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of mes-
sages exchanged (1) - Requestsreplies between client and application and (2) - Queriesreplies
tofrom the database 36
56 Classification of an IfcColumn Here it is possible to see that the definition of a classifica-
tion reference list all the objects subject to such classification 38
57 Decision tree followed by the algorithm to create associations between products and work
results 39
58 Work flow to find the best work result code for a product 40
61 Project page for the ClinicOPO project after adding the code in HouseLx project A -
List of IfcbjectDefinitionrsquos extracted from the IFC file showing the pre-filled field for the
Omniclass Work Result from a recommendation based on previous projects 43
xiii
List of Tables
21 Mapping between the tables from OmniClass and Uniclass adapted from [4] 11
31 Applicability analysis of the systems for semantic clarity in BIM studied for this work 22
32 Applicability analysis of the recommender systems studied for this work The recommen-
dation quality is evaluated in High ( ) Medium (G) and Not Applicable(-) 23
xv
1Introduction
Contents11 Motivation 312 Methodology and Contributions 313 Document Organization 4
1
Building Information Models (BIM) have emerged as a way to promote the exchange of information
about a construction project between all of its stakeholders during its lifestyle Currently the Industry
Foundation Classes (IFC) exchange format is a BIM standard that contains information about build-
ing design planning or construction management Although IFC is very complete in some cases its
construction elements can have multiple definitions because of the need to represent objects and rela-
tionships for a wide range of Architecture Engineering and Construction (AEC) domains [1] For exam-
ple a precast floor slab a construction element can be defined in IFC as a rsquoBoundary Representation
bounding boxrsquo for clash detection as rsquosolid extrusionsrsquo of individual pieces for fabrication as rsquobuilding
entitiesrsquo without explicit geometry for production and delivery sequencing and as a rsquoslab aggregationrsquo
for other purposes All of these classes are distinct representations of the same construction element
and this happens because the rules for choosing the most suitable class due to the context of the project
are not defined Indeed studies show that without well-defined exchange model views the exchanges
are vulnerable to errors omissions contradictions and misinterpretations since they reduce or simplify
the information [2] In other words IFC lacks semantic clarity [3] One way to clarify the semantics of
IFC consists of mapping them to classification systems such as OmniClass [4] or UniClass [5] Thereby
classifying IFCrsquos information and addressing the multiple definitions problem This process which nowa-
days is mostly done manually is called semantic enrichment of the IFC model To perform semantic
enrichment manually one needs to combine multiple tables from a classification system and for projects
with similar profiles but different IFC models all the work has to be repeated since there is no way of
reusing past classifications from similar projects This task is tedious time consuming and error-prone
One of the applications for performing semantic enrichment on IFC models is for activity planning in
construction projects In various cases the same IfcElement [6] can have different activities assigned
to it depending on the profile of the project in question This problem can be addressed with a rec-
ommendation algorithm to help choose the most suitable assignments of activities depending on the
project
Two solutions have been proposed in literature for the semantic enrichment of IFC models see-
BIM [7] performs semantic enrichment to IFC models with a rule-based engine However it does not
make use of classification systems proposing a complex and not easily usable solution Object Profile
Manager [8] is an IFC-compliant object-CAD based and Web Ontology Language (OWL) ontology ap-
proach for semantic interoperability for BIM However Computer-Aided Design (CAD) modelling is out of
the scope of this work Both of these approaches aim at solving the problem this thesis will attempt to
solve but both are incomplete
In the field of recommendations two kinds of algorithms were explored rule based and clustering
With a rule-based algorithm such as Apriori [9] the goal is to find elements that have a high probability
of always belonging to the same set For example in a e-commerce platform the goal is to find the
items that are frequently bought together and create an association rule between them On the other
side with clustering or nearest neighbours algorithms the goal is to create groups based on a similarity
function From the previous example the goal here is to find customers with similar tastes by grouping
them together based on common bought items [9 10]
2
This works aims at validating the feasibility of using a recommender system BIMLink to simplify
and reduce the time spent while classifying complex information extracted from an IFC file For a given
project the system will have stored information from previous projects that are similar and will suggest
activity assignments that are similar The similarity of the projects is calculated according to the project
profile defined by its type and the region it is located in These suggestions will be based on a recom-
mendation algorithm that suggests the activities based on a calculated weight for each association This
weight is modified every time a suggestion is either correct or incorrect The algorithm will always aim to
suggest the associations with the higher weights according to previous similar projects The only tasks
the user needs to perform is validate the suggestions and add missing ones or delete incorrect ones
In order to evaluate the success of the system user tests will be conducted to conclude the usability
of the system and if it indeed does reduce the time spent while performing activity planning Also internal
performance tests on the algorithm will be performed to determine the quality of the recommendations
With this system it is expected that the time spent with activity planning will be reduced significantly
and the degree of complexity of this task will also decrease As for the semantic enrichment of the IFC
models it is expected that after performing the classifications in the case of this work performing the
assignment of activities to IFC elements the ambiguity will be extremely reduced and so will IFCrsquos lack
of semantic clarity
11 Motivation
When performing activity planning for a construction project there are two outcomes that are of
extreme importance for an efficient plan These are the resources that are needed for each activity as
well as the cost of each activity These measures will help determine the feasibility and success of the
construction project
To achieve the highest level of accuracy for the plan the activities need to be carefully assigned to
the right elements This can be an issue due to the fact that the chosen activity for a given construction
element depends on the context of the construction project For example one construction element
such as a door can be assigned one activity in one project such as assembling the door and another
activity for instance painting in another project If for some reason the wrong activity is assigned
the wrong construction element the resources and cost for that activity can be miscalculated This is
why a system that aids with activity planning reducing errors in activity assignment is needed which is
portrayed in Figure 11 This system uses the Omniclass Classification System by mapping Omniclass
Products to Omniclass Work results which represent the elements and activities respectively
12 Methodology and Contributions
This work has two main goals The first is to perform a literature review that intends to conclude if
there is currently any solution for Semantic Enrichment of IFC models with the Omniclass Classification
System The second goal of this work is to develop a solution that provides a way to semantically enrich
IFC models with the Omniclass Classification System while resorting to a recommendation algorithm so
3
Figure 11 The dashed lines represent the goal to achieve with the proposed solution a direct mapping betweenIFC Elements and activities extracted from OmniClass standard
that the time the user needs to spend enriching the model with activities is reduced To fulfill these goals
this work will be conducted as follows
bull Description of the concepts concerning BIM and recommendation algorithms
bull Analysis of the solutions used for Semantic Enrichment
bull Analysis of the most popular recommender systems
bull Identify in the literature the most suitable recommendation technique
bull Formalize an algorithm that fulfils the goal of the system
bull Develop an application BIMLink that fulfils the requirements of the system by using the formalized
algorithm to perform recommendations of the IFC files
bull Perform tests on the solution in order to validate the accuracy of the algorithm and feasibility of the
system
13 Document Organization
This manuscript is structured as follows Section 2 introduces the fundamental concepts of Building
Information Models as well as recommendation algorithms Section 3 details the related work in the
areas of BIM concerning Semantic Enrichment and recommender systems This section ends with an
analysis of the applicability of the presented systems to the problem to be solved Section 4 presents
a conceptual overview of the solution describing the relevant information from the IFC files as well as
formalizing the algorithm It also presents the domain model the requirements the system must fulfil
and the architecture of the solution Section 5 outlines the implementation details of the systemrsquos main
features Section 6 describes the validation plan and the results and finally Section 7 presents the
conclusions
4
2Concepts
Contents21 Building Information Modelling 622 Omniclass Classification System 1023 Ontologies 1224 Recommendation Algorithms 13
5
This section presents the concepts that are relevant for the understanding of the problem of this
work The first concept to be described is BIM 21 where its main features are presented Next Clas-
sification Systems 222 namely OmniClasses and their properties are discussed A brief overview of
Ontologies23 in the field of this work is presented Finally an analysis on Recommendation Algorithms
244
21 Building Information Modelling
BIM is an open technology for digital building modelling According to the National Institute of Building
Sciences (NIBS)1 BIM can be described as an improved planning design construction operation and
maintenance process using a standardized machine readable information model for each facility new or
old which contains all appropriate information created or gathered about that facility in a format usable
by all throughout its life cycle [11 12]
BIM was created as a solution for the need to simplify the process of exchanging information between
the activities in buildingrsquos AECO phases Now it is possible for example that the initial drafts made by
the architects are given to the engineers through digital means This contributes to savings on paper
support since the processes are fully digital and reduces the complexity inherent to the construction
process while making it faster
BIM also has the advantage of enabling collaboration among the stakeholders For instance the
architect adds sketches of the building as well as itrsquos equipment the structural engineer modifies it to
comply with physical principles the builder uses it to help on the construction phase and the building
manager bases on it to operate the facility properly It is clear that all the projectrsquos stakeholders can
contribute to the model according to each onersquos area of expertise on each phase of the building life cycle
Another important aspect is that BIM makes most of the processes related to buildings more agile saving
in bureaucracy and enabling error traceability For example using a tool to build the three-dimensional
model of the facility one can easily check for collisions between different systems or construction errors
like a tube being exposed to the outside of the building roof [11 13 pp 21-22 24]
211 BIM Tools Platforms and Environments
Having a single model containing the facilityrsquos data enables integration of a wide variety of tools that
work the model not only for editing it but also for extracting information useful to analyse the facil-
ity Some of them are design tools but there are others that consider a set of other functionality BIM
tools are used with the purpose of executing specific tasks considering the building model such as
cost estimation energy simulation errorclash detection and many others BIM platforms are used to
help develop BIMs providing an UI for designing building products Finally BIM environments combine
functionality from the two above providing integration between BIM tools and platforms inside an orga-
nization BIM environments are useful for automating the generation of BIM reports and data sets from
the building mode [11 70 71]
1httpwwwnibsorg
6
212 BIM Schemas
While the BIM model describes information regarding an instance of a building a BIM schema pro-
vides a structure to enable the representation of constructs defining how each element of the building
is described through elements properties and relationships In practice a BIM model is an instance of
a building that can be stored in a common format based on the structure described in the schema
BIM schemas can be internal or external On one hand an internal BIM schema represents the way
BIM tools model the information of the building their modelling constructs and knowledge On the other
hand an external BIM schema represents a common model independent from the applications used
to enable interoperability among them Furthermore an internal schema describes concepts regarding
a tool or project phase while an external schema is used for exchange among the several phases of the
project [14]
213 Model View Definitions
In order to adapt to the complexity that comes from the fact that BIM models contain information about
several aspects regarding the building from design to operation Model View Definitions (MVDs) define
subset models regarding fewer aspects of the building These views define a simpler and more specific
set of data for use in a given scenario when needed by the different stakeholders [15] BIM exchange
formats such as IFC are provided with a set of these MVD which define simpler models used in specific
applications or by specific stakeholders For each exchange scenario MVDs help define what is and
what is not in the scope of each exchange scenario Some formatsmdashCOBie for examplemdashare intended
to resolve the problem of handover by representing information typically required to be delivered from
one stage to another like from construction to operation [11 pp 120-122]
214 Exchange Formats
One of the most important properties of BIM tools and platforms is their interoperability and to
achieve that the information must flow from one to another in an independent format that is understood
by different applications In order to achieve this requirement exchange formats are developedThe first
information exchange formats Drawing eXchange Format (DXF) and Initial Graphic Exchange Spec-
ification (IGES) appeared in the 1980s and had only geometric data on building With the efforts on
developing BIM these evolved into formats like IFC which contain information about building design
planning or construction management or CIMsteel Integration Standard 2 (CIS2) for representing fab-
rication and structural engineering of steel Modelling languages like EXPRESS or EXtensible Markup
Language (XML) are used in these exchange formats so that information can be passed through a file
base exchange [11 pp 99-104]
7
Figure 21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of the IFC struc-ture Each schema relates to a different concern
215 Industry Foundation Classes
IFC is an open exchange format for sharing building data across the several stakeholders of its project
and operation which was created by buildingSMART2 (former International Alliance for Interoperability)
and as of March 2013 it is a published international standard ISO 16739 It is designed to model all
the existing data throughout the buildingrsquos life cycle and is the actual standard format for openBIM3
a software tool kit for developing BIM extensions IFC makes the model extensible and interoperable
by enabling the modeller to create new definitions since it is based on a meta model that broads the
definition of Class [16] In 2010 the IFC Certification 20 procedure was developed by BuildingSmart
for the IFC 2x3 Coordination View Version (CV20) which is an MVD intended to promote consistent and
reliable implementations of the IFC specification by many software vendors across multiple platforms [7]
IFCs are modelled recurring to the EXPRESS language to describe the classes mentioned above
These classes are comprised by the specification of an object and its attributes Each objectrsquos semantic
is described by said attributes These objects are connected by relations There are three main types
of classes object relation and resource classes Object classes represent the several entities inside
a building which are identified by a global identifier and a ownership identifier Each object class has
attributes that describe its details and the context where it is being used (such as topology geometry
etc) Relation classes represent the way elements connect to other objects There are many kinds
of relation classes that implement diverse types of interaction such as aggregation containment or
control The applicability of each relation is limited in other words relations specify which objects can
be bound to them Resource classes represent the attributes used to describe entities [17]
IFC structuremdashthat can be found in buildingSMARTrsquos website4 is composed of data schemas each
one relating to a different concern As Figure 21 depicts the data schemas divide in four conceptual
layers[18] Starting from the bottom there is the Resource Layer which represents individual business
concerns such as costs geometry or material The schemas in this layer are used to define properties
of classes from the remaining layers Next there is the Core Layer which is divided in Kernel and Core
extension schemas include the most abstract entities that are specified by the ones from the following
layers (Domain and Interoperability) The entities from Core layer are identified by a global ID and an
2httpwwwbuildingsmartorg3httpwwwopenbimorg4httpwwwbuildingsmart-techorgifcIFC4finalhtmlindexhtm
8
optional Ownership ID and historical data Following the Core Layer there is the Interoperability Layer
and contains the models related to concepts that are used by two or more models from the Domain
Layer This layer has the purpose of enabling inter-domain exchange and information sharing between
the upper levelrsquos classes Finally the highest layer is the Domain Layer which includes the entities that
concern to specializations of products processes or resources from a specific discipline
In the context of this work it is very important to understand how the information concerning a
BIM model is represented in an IFC schema in order to structure that information and feed it to the
recommendation algorithm As represented in Figure 21 the information that is of most relevance to
this work belongs to the resource layer It is in this layer that we find the elements the recommendation
algorithm will need These elements can be for example a door a column the floor in which an object
is in or the relation between a window and a wall To illustrate this a practical example [19] of a how a
window can be placed inside a wall is illustrated
To insert a window or door in a wall it is required to create an opening For this the following entities
are relevant IfcWall IfcOpeningElement IfcWindow These entities need to be connected via relative
placement and via topological connection Each physical object has a placement The placement is rep-
resented by IfcLocalPlacement and can be relative to an IfcLocalPlacement of another physical object
(in case of aggregation feature or filling relation) or of an spatial structure element This process of local
placements is recursive IfcWall IfcOpeningElement and IfcWindow each have their own IfcLocalPlace-
ment however the IfcLocalPlacement of IfcWindow is defined relatively to the IfcLocalPlacement of
IfcOpeningElement and the IfcLocalPlacement of IfcOpeningElement is defined relatively to the IfcLo-
calPlacement of IfcWall The IfcWall and IfcOpeningElement are connected via the objectified relation
IfcRelVoidsElement The IfcRelVoidsElement is connected with the wall via the relationship Relating-
BuildingElement and to the opening element via the relationship RelatedOpeningElement Through
the inverse relationships it is possible to traverse from wall to opening element and vice versa The
IfcOpeningElement and IfcWindow are connected via the objectified relation IfcRelFillsElement The
IfcRelFillsElement is connected with the opening element via the relationship RelatingOpeningElement
and to the window via the relationship RelatedBuildingElement Through the inverse relationships it is
possible to traverse from opening element to window and vice versa The geometric representation of
this example is presented in Figure 23
From the example described above it is clear that when performing activity planning it is very impor-
tant to have two classes of the IFC model well defined the IfcElements and their relationships because
although in different projects a window is used itrsquos relationship to the other elements is crucial to decide
which activity to associate to the window
216 COBie
COBie can be defined as a MVD5 over BIM In other words it consists on a subset of information from
the building Its main use is as an data exchange format by construction teams to handover operational
and maintenance information collected during AEC phases to the facility owner as construction finishes5httpdocsbuildingsmartallianceorgMVD_COBIE
9
Figure 22 Geometric representation of wall opening and window A - 3D representation of the object B - List ofobject parameters
such as equipment lists preventive maintenance schedules or warranty information It can be viewed
in spreadsheets or imported by specific tools for visualization COBie was created to eliminate the
excess of paper usage arising from the information delivered to the building manager when the project
finishes Moreover information took too much time to be compiled since some documents had to be
recreated causing the information to be delivered much later than the expected Once the building
model is constantly updated as the project goes by there is no need to recreate information about what
happened in a given phase and therefore it reaches facility managers quicker with minimum delay [20]
22 Omniclass Classification System
The OmniClass Construction Classification System 6 commonly known as OmniClass or OCCS is
a classification system for the construction industry which is created by the North American AEC indus-
try It is useful for many applications in the area of BIM from organizing reports and object libraries to
providing a way to roll up or drill down through data to get the information that meets the needs of the
projectrsquos stakeholders In simple terms OmniClass is a standard for organizing all construction informa-
tion This information is structured in the form of tables OmniClass bases its tables in other systems that
are not in use any more Those systems are MasterFormat [21] UniFormat [22] and EPIC (Electronic
Product Information Cooperation) for work results elements and products respectively OmniClass fol-
lows the international framework set out in ISOTR 14177 This document was later established as a
standard in ISO 12006-2 Organization of Information about Construction Works - Part 2 Framework for
Classification of Information
221 OmniClass Tables
OmniClass is designed to provide a standardized basis for classifying information and is intended to
be the means for organizing sorting and retrieving information and deriving relational computer applica-6httpwwwomniclassorg
10
Omniclass Uniclass
Table 11 ndash Construction Entities by Function Table D ndash FacilitiesTable 12 ndash Construction Entities by Form Table E ndash Construction EntitiesTable 13 ndash Spaces by Function Table F ndash SpacesTable 14 ndash Spaces by Form Table F ndash Spaces
Table 21 ndash Elements Table G ndash Elements for BuildingsTable H ndash Elements for Civil Engineering Works
Table 22 ndash Work Results Table J ndash Work Sections for BuildingsTable K ndash Work Sections for Civil Engineering Works
Table 23 ndash Products Table L ndash Construction ProductsTable 31 ndash Phases Table C ndash Management (in part)Table 32 ndash Services OmniClass Table B ndash Subject DisciplinesTable 33 ndash Disciplines Table B ndash Subject DisciplinesTable 34 ndash Organizational Roles Table C ndash Management (in part)Table 35 ndash Tools Table M ndash Construction AidsTable 36 ndash Information Table A ndash Forms of InformationTable 41 ndash Materials Table P ndash MaterialsTable 49 ndash Properties Table N ndash Properties and Characteristics
Table 21 Mapping between the tables from OmniClass and Uniclass adapted from [4]
tions To fulfil this the system consists of 15 hierarchical tables each representing a different aspect of
construction information The tables can be used individually or combined when a more complex type of
information needs to be classified [4] Tables 11-12 are used to organize construction results Tables 23
33 34 and 35 and to a lesser extent 36 and 41 are used to organize construction resources And finally
tables 31 and 32 are used to classify construction processes including the phases of construction entity
life cycles The 15 tables of Omniclass also map to the suggested tables in Section 4 of ISO 12002-2
The most important characteristic of these tables is that they are designed to work together to provide
extremely granular or specific classification Depending on the complexity of the object being classified
and the level of detail desired an object can have occurrences in one two or more tables For example
when trying to describe the workcost relationship that states that if a wall is battered 30 of labour
cost is added and if the wall is curved an extra 30 is added there is a need to combine table 23 where
we can find the products and table 22 where the work results are stated and reflect the activities to be
performed on such products
222 Uniclass
The Unified Classification System for the Construction Industry is the United Kingdomrsquos equivalent
to Omniclass From an early point there has always been a collaboration between the developers of
both OmniClass and Uniclass in order to promote a harmonized international standard The mapping
between the tables from OmniClass to Uniclass is presented in Table 21
23 Ontologies
An ontology is a formal representation of an abstracted view of a domain that describes the objects
concepts and relationships between them that holds in that domain for a specific purpose [23] There
11
Figure 23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L - ConstructionProducts (B) where it is clear the tree structure of Omniclass tables
are different classifications of ontologies based on parameters such as level of granularity their use
and types of relationships [24ndash27] The process of ontology modelling consists of modelling the con-
cepts and relationships in a specific field into formal ontologies ie in an ontology language with formal
syntax [28] Ontology engineering is useful for enabling interoperability across heterogeneous systems
because it provides the necessary semantics for many fields of knowlegde and facilitates knowledge
reuse sharing and integration [29 30] In the context of this work ontologies help with IFCrsquos lack of
semantic clarity in mapping entities and relationships which can result in the potential for multiple data
structures to represent the same information [3] The goal of ontology development is to remove am-
biguities associated with different viewpoints and formalize IFC definitions for a robust model exchange
solution [31] Also ontologies are one of the key technologies to deal with the semantic interoperablity
caused by the need to share semantics of BIM among project participants who do not necessarily share
the same definition of terminologies [8] Ontologies specify the semantic of terminology systems in a
well defined and unambiguous manner [32] by formally and explicitly representing shared unterstanding
about domain concepts and the relationships between concepts
ifcOWL emerges as a solution to the problem presented above by being an ontology based on
the industry foundation classes This ontology was created semi automatically by BuildingSmart by
lifting an EXPRESS schema into an ontological level by transforming the language constructs from
the schema into a terminology box definition using Web Ontology Language [33] Using OWL (Web
Ontology Language) [34] the intended meanings of domain technologies and relations are specified
through various OWL constructs which have implemented OWL semantics and logical axioms in an
easy-to-use way [8] Another approach to solve IFCrsquos lack of semantic clarity are the OmniClass tables
described in which present a structured source for an ontology
12
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
List of Tables
21 Mapping between the tables from OmniClass and Uniclass adapted from [4] 11
31 Applicability analysis of the systems for semantic clarity in BIM studied for this work 22
32 Applicability analysis of the recommender systems studied for this work The recommen-
dation quality is evaluated in High ( ) Medium (G) and Not Applicable(-) 23
xv
1Introduction
Contents11 Motivation 312 Methodology and Contributions 313 Document Organization 4
1
Building Information Models (BIM) have emerged as a way to promote the exchange of information
about a construction project between all of its stakeholders during its lifestyle Currently the Industry
Foundation Classes (IFC) exchange format is a BIM standard that contains information about build-
ing design planning or construction management Although IFC is very complete in some cases its
construction elements can have multiple definitions because of the need to represent objects and rela-
tionships for a wide range of Architecture Engineering and Construction (AEC) domains [1] For exam-
ple a precast floor slab a construction element can be defined in IFC as a rsquoBoundary Representation
bounding boxrsquo for clash detection as rsquosolid extrusionsrsquo of individual pieces for fabrication as rsquobuilding
entitiesrsquo without explicit geometry for production and delivery sequencing and as a rsquoslab aggregationrsquo
for other purposes All of these classes are distinct representations of the same construction element
and this happens because the rules for choosing the most suitable class due to the context of the project
are not defined Indeed studies show that without well-defined exchange model views the exchanges
are vulnerable to errors omissions contradictions and misinterpretations since they reduce or simplify
the information [2] In other words IFC lacks semantic clarity [3] One way to clarify the semantics of
IFC consists of mapping them to classification systems such as OmniClass [4] or UniClass [5] Thereby
classifying IFCrsquos information and addressing the multiple definitions problem This process which nowa-
days is mostly done manually is called semantic enrichment of the IFC model To perform semantic
enrichment manually one needs to combine multiple tables from a classification system and for projects
with similar profiles but different IFC models all the work has to be repeated since there is no way of
reusing past classifications from similar projects This task is tedious time consuming and error-prone
One of the applications for performing semantic enrichment on IFC models is for activity planning in
construction projects In various cases the same IfcElement [6] can have different activities assigned
to it depending on the profile of the project in question This problem can be addressed with a rec-
ommendation algorithm to help choose the most suitable assignments of activities depending on the
project
Two solutions have been proposed in literature for the semantic enrichment of IFC models see-
BIM [7] performs semantic enrichment to IFC models with a rule-based engine However it does not
make use of classification systems proposing a complex and not easily usable solution Object Profile
Manager [8] is an IFC-compliant object-CAD based and Web Ontology Language (OWL) ontology ap-
proach for semantic interoperability for BIM However Computer-Aided Design (CAD) modelling is out of
the scope of this work Both of these approaches aim at solving the problem this thesis will attempt to
solve but both are incomplete
In the field of recommendations two kinds of algorithms were explored rule based and clustering
With a rule-based algorithm such as Apriori [9] the goal is to find elements that have a high probability
of always belonging to the same set For example in a e-commerce platform the goal is to find the
items that are frequently bought together and create an association rule between them On the other
side with clustering or nearest neighbours algorithms the goal is to create groups based on a similarity
function From the previous example the goal here is to find customers with similar tastes by grouping
them together based on common bought items [9 10]
2
This works aims at validating the feasibility of using a recommender system BIMLink to simplify
and reduce the time spent while classifying complex information extracted from an IFC file For a given
project the system will have stored information from previous projects that are similar and will suggest
activity assignments that are similar The similarity of the projects is calculated according to the project
profile defined by its type and the region it is located in These suggestions will be based on a recom-
mendation algorithm that suggests the activities based on a calculated weight for each association This
weight is modified every time a suggestion is either correct or incorrect The algorithm will always aim to
suggest the associations with the higher weights according to previous similar projects The only tasks
the user needs to perform is validate the suggestions and add missing ones or delete incorrect ones
In order to evaluate the success of the system user tests will be conducted to conclude the usability
of the system and if it indeed does reduce the time spent while performing activity planning Also internal
performance tests on the algorithm will be performed to determine the quality of the recommendations
With this system it is expected that the time spent with activity planning will be reduced significantly
and the degree of complexity of this task will also decrease As for the semantic enrichment of the IFC
models it is expected that after performing the classifications in the case of this work performing the
assignment of activities to IFC elements the ambiguity will be extremely reduced and so will IFCrsquos lack
of semantic clarity
11 Motivation
When performing activity planning for a construction project there are two outcomes that are of
extreme importance for an efficient plan These are the resources that are needed for each activity as
well as the cost of each activity These measures will help determine the feasibility and success of the
construction project
To achieve the highest level of accuracy for the plan the activities need to be carefully assigned to
the right elements This can be an issue due to the fact that the chosen activity for a given construction
element depends on the context of the construction project For example one construction element
such as a door can be assigned one activity in one project such as assembling the door and another
activity for instance painting in another project If for some reason the wrong activity is assigned
the wrong construction element the resources and cost for that activity can be miscalculated This is
why a system that aids with activity planning reducing errors in activity assignment is needed which is
portrayed in Figure 11 This system uses the Omniclass Classification System by mapping Omniclass
Products to Omniclass Work results which represent the elements and activities respectively
12 Methodology and Contributions
This work has two main goals The first is to perform a literature review that intends to conclude if
there is currently any solution for Semantic Enrichment of IFC models with the Omniclass Classification
System The second goal of this work is to develop a solution that provides a way to semantically enrich
IFC models with the Omniclass Classification System while resorting to a recommendation algorithm so
3
Figure 11 The dashed lines represent the goal to achieve with the proposed solution a direct mapping betweenIFC Elements and activities extracted from OmniClass standard
that the time the user needs to spend enriching the model with activities is reduced To fulfill these goals
this work will be conducted as follows
bull Description of the concepts concerning BIM and recommendation algorithms
bull Analysis of the solutions used for Semantic Enrichment
bull Analysis of the most popular recommender systems
bull Identify in the literature the most suitable recommendation technique
bull Formalize an algorithm that fulfils the goal of the system
bull Develop an application BIMLink that fulfils the requirements of the system by using the formalized
algorithm to perform recommendations of the IFC files
bull Perform tests on the solution in order to validate the accuracy of the algorithm and feasibility of the
system
13 Document Organization
This manuscript is structured as follows Section 2 introduces the fundamental concepts of Building
Information Models as well as recommendation algorithms Section 3 details the related work in the
areas of BIM concerning Semantic Enrichment and recommender systems This section ends with an
analysis of the applicability of the presented systems to the problem to be solved Section 4 presents
a conceptual overview of the solution describing the relevant information from the IFC files as well as
formalizing the algorithm It also presents the domain model the requirements the system must fulfil
and the architecture of the solution Section 5 outlines the implementation details of the systemrsquos main
features Section 6 describes the validation plan and the results and finally Section 7 presents the
conclusions
4
2Concepts
Contents21 Building Information Modelling 622 Omniclass Classification System 1023 Ontologies 1224 Recommendation Algorithms 13
5
This section presents the concepts that are relevant for the understanding of the problem of this
work The first concept to be described is BIM 21 where its main features are presented Next Clas-
sification Systems 222 namely OmniClasses and their properties are discussed A brief overview of
Ontologies23 in the field of this work is presented Finally an analysis on Recommendation Algorithms
244
21 Building Information Modelling
BIM is an open technology for digital building modelling According to the National Institute of Building
Sciences (NIBS)1 BIM can be described as an improved planning design construction operation and
maintenance process using a standardized machine readable information model for each facility new or
old which contains all appropriate information created or gathered about that facility in a format usable
by all throughout its life cycle [11 12]
BIM was created as a solution for the need to simplify the process of exchanging information between
the activities in buildingrsquos AECO phases Now it is possible for example that the initial drafts made by
the architects are given to the engineers through digital means This contributes to savings on paper
support since the processes are fully digital and reduces the complexity inherent to the construction
process while making it faster
BIM also has the advantage of enabling collaboration among the stakeholders For instance the
architect adds sketches of the building as well as itrsquos equipment the structural engineer modifies it to
comply with physical principles the builder uses it to help on the construction phase and the building
manager bases on it to operate the facility properly It is clear that all the projectrsquos stakeholders can
contribute to the model according to each onersquos area of expertise on each phase of the building life cycle
Another important aspect is that BIM makes most of the processes related to buildings more agile saving
in bureaucracy and enabling error traceability For example using a tool to build the three-dimensional
model of the facility one can easily check for collisions between different systems or construction errors
like a tube being exposed to the outside of the building roof [11 13 pp 21-22 24]
211 BIM Tools Platforms and Environments
Having a single model containing the facilityrsquos data enables integration of a wide variety of tools that
work the model not only for editing it but also for extracting information useful to analyse the facil-
ity Some of them are design tools but there are others that consider a set of other functionality BIM
tools are used with the purpose of executing specific tasks considering the building model such as
cost estimation energy simulation errorclash detection and many others BIM platforms are used to
help develop BIMs providing an UI for designing building products Finally BIM environments combine
functionality from the two above providing integration between BIM tools and platforms inside an orga-
nization BIM environments are useful for automating the generation of BIM reports and data sets from
the building mode [11 70 71]
1httpwwwnibsorg
6
212 BIM Schemas
While the BIM model describes information regarding an instance of a building a BIM schema pro-
vides a structure to enable the representation of constructs defining how each element of the building
is described through elements properties and relationships In practice a BIM model is an instance of
a building that can be stored in a common format based on the structure described in the schema
BIM schemas can be internal or external On one hand an internal BIM schema represents the way
BIM tools model the information of the building their modelling constructs and knowledge On the other
hand an external BIM schema represents a common model independent from the applications used
to enable interoperability among them Furthermore an internal schema describes concepts regarding
a tool or project phase while an external schema is used for exchange among the several phases of the
project [14]
213 Model View Definitions
In order to adapt to the complexity that comes from the fact that BIM models contain information about
several aspects regarding the building from design to operation Model View Definitions (MVDs) define
subset models regarding fewer aspects of the building These views define a simpler and more specific
set of data for use in a given scenario when needed by the different stakeholders [15] BIM exchange
formats such as IFC are provided with a set of these MVD which define simpler models used in specific
applications or by specific stakeholders For each exchange scenario MVDs help define what is and
what is not in the scope of each exchange scenario Some formatsmdashCOBie for examplemdashare intended
to resolve the problem of handover by representing information typically required to be delivered from
one stage to another like from construction to operation [11 pp 120-122]
214 Exchange Formats
One of the most important properties of BIM tools and platforms is their interoperability and to
achieve that the information must flow from one to another in an independent format that is understood
by different applications In order to achieve this requirement exchange formats are developedThe first
information exchange formats Drawing eXchange Format (DXF) and Initial Graphic Exchange Spec-
ification (IGES) appeared in the 1980s and had only geometric data on building With the efforts on
developing BIM these evolved into formats like IFC which contain information about building design
planning or construction management or CIMsteel Integration Standard 2 (CIS2) for representing fab-
rication and structural engineering of steel Modelling languages like EXPRESS or EXtensible Markup
Language (XML) are used in these exchange formats so that information can be passed through a file
base exchange [11 pp 99-104]
7
Figure 21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of the IFC struc-ture Each schema relates to a different concern
215 Industry Foundation Classes
IFC is an open exchange format for sharing building data across the several stakeholders of its project
and operation which was created by buildingSMART2 (former International Alliance for Interoperability)
and as of March 2013 it is a published international standard ISO 16739 It is designed to model all
the existing data throughout the buildingrsquos life cycle and is the actual standard format for openBIM3
a software tool kit for developing BIM extensions IFC makes the model extensible and interoperable
by enabling the modeller to create new definitions since it is based on a meta model that broads the
definition of Class [16] In 2010 the IFC Certification 20 procedure was developed by BuildingSmart
for the IFC 2x3 Coordination View Version (CV20) which is an MVD intended to promote consistent and
reliable implementations of the IFC specification by many software vendors across multiple platforms [7]
IFCs are modelled recurring to the EXPRESS language to describe the classes mentioned above
These classes are comprised by the specification of an object and its attributes Each objectrsquos semantic
is described by said attributes These objects are connected by relations There are three main types
of classes object relation and resource classes Object classes represent the several entities inside
a building which are identified by a global identifier and a ownership identifier Each object class has
attributes that describe its details and the context where it is being used (such as topology geometry
etc) Relation classes represent the way elements connect to other objects There are many kinds
of relation classes that implement diverse types of interaction such as aggregation containment or
control The applicability of each relation is limited in other words relations specify which objects can
be bound to them Resource classes represent the attributes used to describe entities [17]
IFC structuremdashthat can be found in buildingSMARTrsquos website4 is composed of data schemas each
one relating to a different concern As Figure 21 depicts the data schemas divide in four conceptual
layers[18] Starting from the bottom there is the Resource Layer which represents individual business
concerns such as costs geometry or material The schemas in this layer are used to define properties
of classes from the remaining layers Next there is the Core Layer which is divided in Kernel and Core
extension schemas include the most abstract entities that are specified by the ones from the following
layers (Domain and Interoperability) The entities from Core layer are identified by a global ID and an
2httpwwwbuildingsmartorg3httpwwwopenbimorg4httpwwwbuildingsmart-techorgifcIFC4finalhtmlindexhtm
8
optional Ownership ID and historical data Following the Core Layer there is the Interoperability Layer
and contains the models related to concepts that are used by two or more models from the Domain
Layer This layer has the purpose of enabling inter-domain exchange and information sharing between
the upper levelrsquos classes Finally the highest layer is the Domain Layer which includes the entities that
concern to specializations of products processes or resources from a specific discipline
In the context of this work it is very important to understand how the information concerning a
BIM model is represented in an IFC schema in order to structure that information and feed it to the
recommendation algorithm As represented in Figure 21 the information that is of most relevance to
this work belongs to the resource layer It is in this layer that we find the elements the recommendation
algorithm will need These elements can be for example a door a column the floor in which an object
is in or the relation between a window and a wall To illustrate this a practical example [19] of a how a
window can be placed inside a wall is illustrated
To insert a window or door in a wall it is required to create an opening For this the following entities
are relevant IfcWall IfcOpeningElement IfcWindow These entities need to be connected via relative
placement and via topological connection Each physical object has a placement The placement is rep-
resented by IfcLocalPlacement and can be relative to an IfcLocalPlacement of another physical object
(in case of aggregation feature or filling relation) or of an spatial structure element This process of local
placements is recursive IfcWall IfcOpeningElement and IfcWindow each have their own IfcLocalPlace-
ment however the IfcLocalPlacement of IfcWindow is defined relatively to the IfcLocalPlacement of
IfcOpeningElement and the IfcLocalPlacement of IfcOpeningElement is defined relatively to the IfcLo-
calPlacement of IfcWall The IfcWall and IfcOpeningElement are connected via the objectified relation
IfcRelVoidsElement The IfcRelVoidsElement is connected with the wall via the relationship Relating-
BuildingElement and to the opening element via the relationship RelatedOpeningElement Through
the inverse relationships it is possible to traverse from wall to opening element and vice versa The
IfcOpeningElement and IfcWindow are connected via the objectified relation IfcRelFillsElement The
IfcRelFillsElement is connected with the opening element via the relationship RelatingOpeningElement
and to the window via the relationship RelatedBuildingElement Through the inverse relationships it is
possible to traverse from opening element to window and vice versa The geometric representation of
this example is presented in Figure 23
From the example described above it is clear that when performing activity planning it is very impor-
tant to have two classes of the IFC model well defined the IfcElements and their relationships because
although in different projects a window is used itrsquos relationship to the other elements is crucial to decide
which activity to associate to the window
216 COBie
COBie can be defined as a MVD5 over BIM In other words it consists on a subset of information from
the building Its main use is as an data exchange format by construction teams to handover operational
and maintenance information collected during AEC phases to the facility owner as construction finishes5httpdocsbuildingsmartallianceorgMVD_COBIE
9
Figure 22 Geometric representation of wall opening and window A - 3D representation of the object B - List ofobject parameters
such as equipment lists preventive maintenance schedules or warranty information It can be viewed
in spreadsheets or imported by specific tools for visualization COBie was created to eliminate the
excess of paper usage arising from the information delivered to the building manager when the project
finishes Moreover information took too much time to be compiled since some documents had to be
recreated causing the information to be delivered much later than the expected Once the building
model is constantly updated as the project goes by there is no need to recreate information about what
happened in a given phase and therefore it reaches facility managers quicker with minimum delay [20]
22 Omniclass Classification System
The OmniClass Construction Classification System 6 commonly known as OmniClass or OCCS is
a classification system for the construction industry which is created by the North American AEC indus-
try It is useful for many applications in the area of BIM from organizing reports and object libraries to
providing a way to roll up or drill down through data to get the information that meets the needs of the
projectrsquos stakeholders In simple terms OmniClass is a standard for organizing all construction informa-
tion This information is structured in the form of tables OmniClass bases its tables in other systems that
are not in use any more Those systems are MasterFormat [21] UniFormat [22] and EPIC (Electronic
Product Information Cooperation) for work results elements and products respectively OmniClass fol-
lows the international framework set out in ISOTR 14177 This document was later established as a
standard in ISO 12006-2 Organization of Information about Construction Works - Part 2 Framework for
Classification of Information
221 OmniClass Tables
OmniClass is designed to provide a standardized basis for classifying information and is intended to
be the means for organizing sorting and retrieving information and deriving relational computer applica-6httpwwwomniclassorg
10
Omniclass Uniclass
Table 11 ndash Construction Entities by Function Table D ndash FacilitiesTable 12 ndash Construction Entities by Form Table E ndash Construction EntitiesTable 13 ndash Spaces by Function Table F ndash SpacesTable 14 ndash Spaces by Form Table F ndash Spaces
Table 21 ndash Elements Table G ndash Elements for BuildingsTable H ndash Elements for Civil Engineering Works
Table 22 ndash Work Results Table J ndash Work Sections for BuildingsTable K ndash Work Sections for Civil Engineering Works
Table 23 ndash Products Table L ndash Construction ProductsTable 31 ndash Phases Table C ndash Management (in part)Table 32 ndash Services OmniClass Table B ndash Subject DisciplinesTable 33 ndash Disciplines Table B ndash Subject DisciplinesTable 34 ndash Organizational Roles Table C ndash Management (in part)Table 35 ndash Tools Table M ndash Construction AidsTable 36 ndash Information Table A ndash Forms of InformationTable 41 ndash Materials Table P ndash MaterialsTable 49 ndash Properties Table N ndash Properties and Characteristics
Table 21 Mapping between the tables from OmniClass and Uniclass adapted from [4]
tions To fulfil this the system consists of 15 hierarchical tables each representing a different aspect of
construction information The tables can be used individually or combined when a more complex type of
information needs to be classified [4] Tables 11-12 are used to organize construction results Tables 23
33 34 and 35 and to a lesser extent 36 and 41 are used to organize construction resources And finally
tables 31 and 32 are used to classify construction processes including the phases of construction entity
life cycles The 15 tables of Omniclass also map to the suggested tables in Section 4 of ISO 12002-2
The most important characteristic of these tables is that they are designed to work together to provide
extremely granular or specific classification Depending on the complexity of the object being classified
and the level of detail desired an object can have occurrences in one two or more tables For example
when trying to describe the workcost relationship that states that if a wall is battered 30 of labour
cost is added and if the wall is curved an extra 30 is added there is a need to combine table 23 where
we can find the products and table 22 where the work results are stated and reflect the activities to be
performed on such products
222 Uniclass
The Unified Classification System for the Construction Industry is the United Kingdomrsquos equivalent
to Omniclass From an early point there has always been a collaboration between the developers of
both OmniClass and Uniclass in order to promote a harmonized international standard The mapping
between the tables from OmniClass to Uniclass is presented in Table 21
23 Ontologies
An ontology is a formal representation of an abstracted view of a domain that describes the objects
concepts and relationships between them that holds in that domain for a specific purpose [23] There
11
Figure 23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L - ConstructionProducts (B) where it is clear the tree structure of Omniclass tables
are different classifications of ontologies based on parameters such as level of granularity their use
and types of relationships [24ndash27] The process of ontology modelling consists of modelling the con-
cepts and relationships in a specific field into formal ontologies ie in an ontology language with formal
syntax [28] Ontology engineering is useful for enabling interoperability across heterogeneous systems
because it provides the necessary semantics for many fields of knowlegde and facilitates knowledge
reuse sharing and integration [29 30] In the context of this work ontologies help with IFCrsquos lack of
semantic clarity in mapping entities and relationships which can result in the potential for multiple data
structures to represent the same information [3] The goal of ontology development is to remove am-
biguities associated with different viewpoints and formalize IFC definitions for a robust model exchange
solution [31] Also ontologies are one of the key technologies to deal with the semantic interoperablity
caused by the need to share semantics of BIM among project participants who do not necessarily share
the same definition of terminologies [8] Ontologies specify the semantic of terminology systems in a
well defined and unambiguous manner [32] by formally and explicitly representing shared unterstanding
about domain concepts and the relationships between concepts
ifcOWL emerges as a solution to the problem presented above by being an ontology based on
the industry foundation classes This ontology was created semi automatically by BuildingSmart by
lifting an EXPRESS schema into an ontological level by transforming the language constructs from
the schema into a terminology box definition using Web Ontology Language [33] Using OWL (Web
Ontology Language) [34] the intended meanings of domain technologies and relations are specified
through various OWL constructs which have implemented OWL semantics and logical axioms in an
easy-to-use way [8] Another approach to solve IFCrsquos lack of semantic clarity are the OmniClass tables
described in which present a structured source for an ontology
12
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
1Introduction
Contents11 Motivation 312 Methodology and Contributions 313 Document Organization 4
1
Building Information Models (BIM) have emerged as a way to promote the exchange of information
about a construction project between all of its stakeholders during its lifestyle Currently the Industry
Foundation Classes (IFC) exchange format is a BIM standard that contains information about build-
ing design planning or construction management Although IFC is very complete in some cases its
construction elements can have multiple definitions because of the need to represent objects and rela-
tionships for a wide range of Architecture Engineering and Construction (AEC) domains [1] For exam-
ple a precast floor slab a construction element can be defined in IFC as a rsquoBoundary Representation
bounding boxrsquo for clash detection as rsquosolid extrusionsrsquo of individual pieces for fabrication as rsquobuilding
entitiesrsquo without explicit geometry for production and delivery sequencing and as a rsquoslab aggregationrsquo
for other purposes All of these classes are distinct representations of the same construction element
and this happens because the rules for choosing the most suitable class due to the context of the project
are not defined Indeed studies show that without well-defined exchange model views the exchanges
are vulnerable to errors omissions contradictions and misinterpretations since they reduce or simplify
the information [2] In other words IFC lacks semantic clarity [3] One way to clarify the semantics of
IFC consists of mapping them to classification systems such as OmniClass [4] or UniClass [5] Thereby
classifying IFCrsquos information and addressing the multiple definitions problem This process which nowa-
days is mostly done manually is called semantic enrichment of the IFC model To perform semantic
enrichment manually one needs to combine multiple tables from a classification system and for projects
with similar profiles but different IFC models all the work has to be repeated since there is no way of
reusing past classifications from similar projects This task is tedious time consuming and error-prone
One of the applications for performing semantic enrichment on IFC models is for activity planning in
construction projects In various cases the same IfcElement [6] can have different activities assigned
to it depending on the profile of the project in question This problem can be addressed with a rec-
ommendation algorithm to help choose the most suitable assignments of activities depending on the
project
Two solutions have been proposed in literature for the semantic enrichment of IFC models see-
BIM [7] performs semantic enrichment to IFC models with a rule-based engine However it does not
make use of classification systems proposing a complex and not easily usable solution Object Profile
Manager [8] is an IFC-compliant object-CAD based and Web Ontology Language (OWL) ontology ap-
proach for semantic interoperability for BIM However Computer-Aided Design (CAD) modelling is out of
the scope of this work Both of these approaches aim at solving the problem this thesis will attempt to
solve but both are incomplete
In the field of recommendations two kinds of algorithms were explored rule based and clustering
With a rule-based algorithm such as Apriori [9] the goal is to find elements that have a high probability
of always belonging to the same set For example in a e-commerce platform the goal is to find the
items that are frequently bought together and create an association rule between them On the other
side with clustering or nearest neighbours algorithms the goal is to create groups based on a similarity
function From the previous example the goal here is to find customers with similar tastes by grouping
them together based on common bought items [9 10]
2
This works aims at validating the feasibility of using a recommender system BIMLink to simplify
and reduce the time spent while classifying complex information extracted from an IFC file For a given
project the system will have stored information from previous projects that are similar and will suggest
activity assignments that are similar The similarity of the projects is calculated according to the project
profile defined by its type and the region it is located in These suggestions will be based on a recom-
mendation algorithm that suggests the activities based on a calculated weight for each association This
weight is modified every time a suggestion is either correct or incorrect The algorithm will always aim to
suggest the associations with the higher weights according to previous similar projects The only tasks
the user needs to perform is validate the suggestions and add missing ones or delete incorrect ones
In order to evaluate the success of the system user tests will be conducted to conclude the usability
of the system and if it indeed does reduce the time spent while performing activity planning Also internal
performance tests on the algorithm will be performed to determine the quality of the recommendations
With this system it is expected that the time spent with activity planning will be reduced significantly
and the degree of complexity of this task will also decrease As for the semantic enrichment of the IFC
models it is expected that after performing the classifications in the case of this work performing the
assignment of activities to IFC elements the ambiguity will be extremely reduced and so will IFCrsquos lack
of semantic clarity
11 Motivation
When performing activity planning for a construction project there are two outcomes that are of
extreme importance for an efficient plan These are the resources that are needed for each activity as
well as the cost of each activity These measures will help determine the feasibility and success of the
construction project
To achieve the highest level of accuracy for the plan the activities need to be carefully assigned to
the right elements This can be an issue due to the fact that the chosen activity for a given construction
element depends on the context of the construction project For example one construction element
such as a door can be assigned one activity in one project such as assembling the door and another
activity for instance painting in another project If for some reason the wrong activity is assigned
the wrong construction element the resources and cost for that activity can be miscalculated This is
why a system that aids with activity planning reducing errors in activity assignment is needed which is
portrayed in Figure 11 This system uses the Omniclass Classification System by mapping Omniclass
Products to Omniclass Work results which represent the elements and activities respectively
12 Methodology and Contributions
This work has two main goals The first is to perform a literature review that intends to conclude if
there is currently any solution for Semantic Enrichment of IFC models with the Omniclass Classification
System The second goal of this work is to develop a solution that provides a way to semantically enrich
IFC models with the Omniclass Classification System while resorting to a recommendation algorithm so
3
Figure 11 The dashed lines represent the goal to achieve with the proposed solution a direct mapping betweenIFC Elements and activities extracted from OmniClass standard
that the time the user needs to spend enriching the model with activities is reduced To fulfill these goals
this work will be conducted as follows
bull Description of the concepts concerning BIM and recommendation algorithms
bull Analysis of the solutions used for Semantic Enrichment
bull Analysis of the most popular recommender systems
bull Identify in the literature the most suitable recommendation technique
bull Formalize an algorithm that fulfils the goal of the system
bull Develop an application BIMLink that fulfils the requirements of the system by using the formalized
algorithm to perform recommendations of the IFC files
bull Perform tests on the solution in order to validate the accuracy of the algorithm and feasibility of the
system
13 Document Organization
This manuscript is structured as follows Section 2 introduces the fundamental concepts of Building
Information Models as well as recommendation algorithms Section 3 details the related work in the
areas of BIM concerning Semantic Enrichment and recommender systems This section ends with an
analysis of the applicability of the presented systems to the problem to be solved Section 4 presents
a conceptual overview of the solution describing the relevant information from the IFC files as well as
formalizing the algorithm It also presents the domain model the requirements the system must fulfil
and the architecture of the solution Section 5 outlines the implementation details of the systemrsquos main
features Section 6 describes the validation plan and the results and finally Section 7 presents the
conclusions
4
2Concepts
Contents21 Building Information Modelling 622 Omniclass Classification System 1023 Ontologies 1224 Recommendation Algorithms 13
5
This section presents the concepts that are relevant for the understanding of the problem of this
work The first concept to be described is BIM 21 where its main features are presented Next Clas-
sification Systems 222 namely OmniClasses and their properties are discussed A brief overview of
Ontologies23 in the field of this work is presented Finally an analysis on Recommendation Algorithms
244
21 Building Information Modelling
BIM is an open technology for digital building modelling According to the National Institute of Building
Sciences (NIBS)1 BIM can be described as an improved planning design construction operation and
maintenance process using a standardized machine readable information model for each facility new or
old which contains all appropriate information created or gathered about that facility in a format usable
by all throughout its life cycle [11 12]
BIM was created as a solution for the need to simplify the process of exchanging information between
the activities in buildingrsquos AECO phases Now it is possible for example that the initial drafts made by
the architects are given to the engineers through digital means This contributes to savings on paper
support since the processes are fully digital and reduces the complexity inherent to the construction
process while making it faster
BIM also has the advantage of enabling collaboration among the stakeholders For instance the
architect adds sketches of the building as well as itrsquos equipment the structural engineer modifies it to
comply with physical principles the builder uses it to help on the construction phase and the building
manager bases on it to operate the facility properly It is clear that all the projectrsquos stakeholders can
contribute to the model according to each onersquos area of expertise on each phase of the building life cycle
Another important aspect is that BIM makes most of the processes related to buildings more agile saving
in bureaucracy and enabling error traceability For example using a tool to build the three-dimensional
model of the facility one can easily check for collisions between different systems or construction errors
like a tube being exposed to the outside of the building roof [11 13 pp 21-22 24]
211 BIM Tools Platforms and Environments
Having a single model containing the facilityrsquos data enables integration of a wide variety of tools that
work the model not only for editing it but also for extracting information useful to analyse the facil-
ity Some of them are design tools but there are others that consider a set of other functionality BIM
tools are used with the purpose of executing specific tasks considering the building model such as
cost estimation energy simulation errorclash detection and many others BIM platforms are used to
help develop BIMs providing an UI for designing building products Finally BIM environments combine
functionality from the two above providing integration between BIM tools and platforms inside an orga-
nization BIM environments are useful for automating the generation of BIM reports and data sets from
the building mode [11 70 71]
1httpwwwnibsorg
6
212 BIM Schemas
While the BIM model describes information regarding an instance of a building a BIM schema pro-
vides a structure to enable the representation of constructs defining how each element of the building
is described through elements properties and relationships In practice a BIM model is an instance of
a building that can be stored in a common format based on the structure described in the schema
BIM schemas can be internal or external On one hand an internal BIM schema represents the way
BIM tools model the information of the building their modelling constructs and knowledge On the other
hand an external BIM schema represents a common model independent from the applications used
to enable interoperability among them Furthermore an internal schema describes concepts regarding
a tool or project phase while an external schema is used for exchange among the several phases of the
project [14]
213 Model View Definitions
In order to adapt to the complexity that comes from the fact that BIM models contain information about
several aspects regarding the building from design to operation Model View Definitions (MVDs) define
subset models regarding fewer aspects of the building These views define a simpler and more specific
set of data for use in a given scenario when needed by the different stakeholders [15] BIM exchange
formats such as IFC are provided with a set of these MVD which define simpler models used in specific
applications or by specific stakeholders For each exchange scenario MVDs help define what is and
what is not in the scope of each exchange scenario Some formatsmdashCOBie for examplemdashare intended
to resolve the problem of handover by representing information typically required to be delivered from
one stage to another like from construction to operation [11 pp 120-122]
214 Exchange Formats
One of the most important properties of BIM tools and platforms is their interoperability and to
achieve that the information must flow from one to another in an independent format that is understood
by different applications In order to achieve this requirement exchange formats are developedThe first
information exchange formats Drawing eXchange Format (DXF) and Initial Graphic Exchange Spec-
ification (IGES) appeared in the 1980s and had only geometric data on building With the efforts on
developing BIM these evolved into formats like IFC which contain information about building design
planning or construction management or CIMsteel Integration Standard 2 (CIS2) for representing fab-
rication and structural engineering of steel Modelling languages like EXPRESS or EXtensible Markup
Language (XML) are used in these exchange formats so that information can be passed through a file
base exchange [11 pp 99-104]
7
Figure 21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of the IFC struc-ture Each schema relates to a different concern
215 Industry Foundation Classes
IFC is an open exchange format for sharing building data across the several stakeholders of its project
and operation which was created by buildingSMART2 (former International Alliance for Interoperability)
and as of March 2013 it is a published international standard ISO 16739 It is designed to model all
the existing data throughout the buildingrsquos life cycle and is the actual standard format for openBIM3
a software tool kit for developing BIM extensions IFC makes the model extensible and interoperable
by enabling the modeller to create new definitions since it is based on a meta model that broads the
definition of Class [16] In 2010 the IFC Certification 20 procedure was developed by BuildingSmart
for the IFC 2x3 Coordination View Version (CV20) which is an MVD intended to promote consistent and
reliable implementations of the IFC specification by many software vendors across multiple platforms [7]
IFCs are modelled recurring to the EXPRESS language to describe the classes mentioned above
These classes are comprised by the specification of an object and its attributes Each objectrsquos semantic
is described by said attributes These objects are connected by relations There are three main types
of classes object relation and resource classes Object classes represent the several entities inside
a building which are identified by a global identifier and a ownership identifier Each object class has
attributes that describe its details and the context where it is being used (such as topology geometry
etc) Relation classes represent the way elements connect to other objects There are many kinds
of relation classes that implement diverse types of interaction such as aggregation containment or
control The applicability of each relation is limited in other words relations specify which objects can
be bound to them Resource classes represent the attributes used to describe entities [17]
IFC structuremdashthat can be found in buildingSMARTrsquos website4 is composed of data schemas each
one relating to a different concern As Figure 21 depicts the data schemas divide in four conceptual
layers[18] Starting from the bottom there is the Resource Layer which represents individual business
concerns such as costs geometry or material The schemas in this layer are used to define properties
of classes from the remaining layers Next there is the Core Layer which is divided in Kernel and Core
extension schemas include the most abstract entities that are specified by the ones from the following
layers (Domain and Interoperability) The entities from Core layer are identified by a global ID and an
2httpwwwbuildingsmartorg3httpwwwopenbimorg4httpwwwbuildingsmart-techorgifcIFC4finalhtmlindexhtm
8
optional Ownership ID and historical data Following the Core Layer there is the Interoperability Layer
and contains the models related to concepts that are used by two or more models from the Domain
Layer This layer has the purpose of enabling inter-domain exchange and information sharing between
the upper levelrsquos classes Finally the highest layer is the Domain Layer which includes the entities that
concern to specializations of products processes or resources from a specific discipline
In the context of this work it is very important to understand how the information concerning a
BIM model is represented in an IFC schema in order to structure that information and feed it to the
recommendation algorithm As represented in Figure 21 the information that is of most relevance to
this work belongs to the resource layer It is in this layer that we find the elements the recommendation
algorithm will need These elements can be for example a door a column the floor in which an object
is in or the relation between a window and a wall To illustrate this a practical example [19] of a how a
window can be placed inside a wall is illustrated
To insert a window or door in a wall it is required to create an opening For this the following entities
are relevant IfcWall IfcOpeningElement IfcWindow These entities need to be connected via relative
placement and via topological connection Each physical object has a placement The placement is rep-
resented by IfcLocalPlacement and can be relative to an IfcLocalPlacement of another physical object
(in case of aggregation feature or filling relation) or of an spatial structure element This process of local
placements is recursive IfcWall IfcOpeningElement and IfcWindow each have their own IfcLocalPlace-
ment however the IfcLocalPlacement of IfcWindow is defined relatively to the IfcLocalPlacement of
IfcOpeningElement and the IfcLocalPlacement of IfcOpeningElement is defined relatively to the IfcLo-
calPlacement of IfcWall The IfcWall and IfcOpeningElement are connected via the objectified relation
IfcRelVoidsElement The IfcRelVoidsElement is connected with the wall via the relationship Relating-
BuildingElement and to the opening element via the relationship RelatedOpeningElement Through
the inverse relationships it is possible to traverse from wall to opening element and vice versa The
IfcOpeningElement and IfcWindow are connected via the objectified relation IfcRelFillsElement The
IfcRelFillsElement is connected with the opening element via the relationship RelatingOpeningElement
and to the window via the relationship RelatedBuildingElement Through the inverse relationships it is
possible to traverse from opening element to window and vice versa The geometric representation of
this example is presented in Figure 23
From the example described above it is clear that when performing activity planning it is very impor-
tant to have two classes of the IFC model well defined the IfcElements and their relationships because
although in different projects a window is used itrsquos relationship to the other elements is crucial to decide
which activity to associate to the window
216 COBie
COBie can be defined as a MVD5 over BIM In other words it consists on a subset of information from
the building Its main use is as an data exchange format by construction teams to handover operational
and maintenance information collected during AEC phases to the facility owner as construction finishes5httpdocsbuildingsmartallianceorgMVD_COBIE
9
Figure 22 Geometric representation of wall opening and window A - 3D representation of the object B - List ofobject parameters
such as equipment lists preventive maintenance schedules or warranty information It can be viewed
in spreadsheets or imported by specific tools for visualization COBie was created to eliminate the
excess of paper usage arising from the information delivered to the building manager when the project
finishes Moreover information took too much time to be compiled since some documents had to be
recreated causing the information to be delivered much later than the expected Once the building
model is constantly updated as the project goes by there is no need to recreate information about what
happened in a given phase and therefore it reaches facility managers quicker with minimum delay [20]
22 Omniclass Classification System
The OmniClass Construction Classification System 6 commonly known as OmniClass or OCCS is
a classification system for the construction industry which is created by the North American AEC indus-
try It is useful for many applications in the area of BIM from organizing reports and object libraries to
providing a way to roll up or drill down through data to get the information that meets the needs of the
projectrsquos stakeholders In simple terms OmniClass is a standard for organizing all construction informa-
tion This information is structured in the form of tables OmniClass bases its tables in other systems that
are not in use any more Those systems are MasterFormat [21] UniFormat [22] and EPIC (Electronic
Product Information Cooperation) for work results elements and products respectively OmniClass fol-
lows the international framework set out in ISOTR 14177 This document was later established as a
standard in ISO 12006-2 Organization of Information about Construction Works - Part 2 Framework for
Classification of Information
221 OmniClass Tables
OmniClass is designed to provide a standardized basis for classifying information and is intended to
be the means for organizing sorting and retrieving information and deriving relational computer applica-6httpwwwomniclassorg
10
Omniclass Uniclass
Table 11 ndash Construction Entities by Function Table D ndash FacilitiesTable 12 ndash Construction Entities by Form Table E ndash Construction EntitiesTable 13 ndash Spaces by Function Table F ndash SpacesTable 14 ndash Spaces by Form Table F ndash Spaces
Table 21 ndash Elements Table G ndash Elements for BuildingsTable H ndash Elements for Civil Engineering Works
Table 22 ndash Work Results Table J ndash Work Sections for BuildingsTable K ndash Work Sections for Civil Engineering Works
Table 23 ndash Products Table L ndash Construction ProductsTable 31 ndash Phases Table C ndash Management (in part)Table 32 ndash Services OmniClass Table B ndash Subject DisciplinesTable 33 ndash Disciplines Table B ndash Subject DisciplinesTable 34 ndash Organizational Roles Table C ndash Management (in part)Table 35 ndash Tools Table M ndash Construction AidsTable 36 ndash Information Table A ndash Forms of InformationTable 41 ndash Materials Table P ndash MaterialsTable 49 ndash Properties Table N ndash Properties and Characteristics
Table 21 Mapping between the tables from OmniClass and Uniclass adapted from [4]
tions To fulfil this the system consists of 15 hierarchical tables each representing a different aspect of
construction information The tables can be used individually or combined when a more complex type of
information needs to be classified [4] Tables 11-12 are used to organize construction results Tables 23
33 34 and 35 and to a lesser extent 36 and 41 are used to organize construction resources And finally
tables 31 and 32 are used to classify construction processes including the phases of construction entity
life cycles The 15 tables of Omniclass also map to the suggested tables in Section 4 of ISO 12002-2
The most important characteristic of these tables is that they are designed to work together to provide
extremely granular or specific classification Depending on the complexity of the object being classified
and the level of detail desired an object can have occurrences in one two or more tables For example
when trying to describe the workcost relationship that states that if a wall is battered 30 of labour
cost is added and if the wall is curved an extra 30 is added there is a need to combine table 23 where
we can find the products and table 22 where the work results are stated and reflect the activities to be
performed on such products
222 Uniclass
The Unified Classification System for the Construction Industry is the United Kingdomrsquos equivalent
to Omniclass From an early point there has always been a collaboration between the developers of
both OmniClass and Uniclass in order to promote a harmonized international standard The mapping
between the tables from OmniClass to Uniclass is presented in Table 21
23 Ontologies
An ontology is a formal representation of an abstracted view of a domain that describes the objects
concepts and relationships between them that holds in that domain for a specific purpose [23] There
11
Figure 23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L - ConstructionProducts (B) where it is clear the tree structure of Omniclass tables
are different classifications of ontologies based on parameters such as level of granularity their use
and types of relationships [24ndash27] The process of ontology modelling consists of modelling the con-
cepts and relationships in a specific field into formal ontologies ie in an ontology language with formal
syntax [28] Ontology engineering is useful for enabling interoperability across heterogeneous systems
because it provides the necessary semantics for many fields of knowlegde and facilitates knowledge
reuse sharing and integration [29 30] In the context of this work ontologies help with IFCrsquos lack of
semantic clarity in mapping entities and relationships which can result in the potential for multiple data
structures to represent the same information [3] The goal of ontology development is to remove am-
biguities associated with different viewpoints and formalize IFC definitions for a robust model exchange
solution [31] Also ontologies are one of the key technologies to deal with the semantic interoperablity
caused by the need to share semantics of BIM among project participants who do not necessarily share
the same definition of terminologies [8] Ontologies specify the semantic of terminology systems in a
well defined and unambiguous manner [32] by formally and explicitly representing shared unterstanding
about domain concepts and the relationships between concepts
ifcOWL emerges as a solution to the problem presented above by being an ontology based on
the industry foundation classes This ontology was created semi automatically by BuildingSmart by
lifting an EXPRESS schema into an ontological level by transforming the language constructs from
the schema into a terminology box definition using Web Ontology Language [33] Using OWL (Web
Ontology Language) [34] the intended meanings of domain technologies and relations are specified
through various OWL constructs which have implemented OWL semantics and logical axioms in an
easy-to-use way [8] Another approach to solve IFCrsquos lack of semantic clarity are the OmniClass tables
described in which present a structured source for an ontology
12
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Building Information Models (BIM) have emerged as a way to promote the exchange of information
about a construction project between all of its stakeholders during its lifestyle Currently the Industry
Foundation Classes (IFC) exchange format is a BIM standard that contains information about build-
ing design planning or construction management Although IFC is very complete in some cases its
construction elements can have multiple definitions because of the need to represent objects and rela-
tionships for a wide range of Architecture Engineering and Construction (AEC) domains [1] For exam-
ple a precast floor slab a construction element can be defined in IFC as a rsquoBoundary Representation
bounding boxrsquo for clash detection as rsquosolid extrusionsrsquo of individual pieces for fabrication as rsquobuilding
entitiesrsquo without explicit geometry for production and delivery sequencing and as a rsquoslab aggregationrsquo
for other purposes All of these classes are distinct representations of the same construction element
and this happens because the rules for choosing the most suitable class due to the context of the project
are not defined Indeed studies show that without well-defined exchange model views the exchanges
are vulnerable to errors omissions contradictions and misinterpretations since they reduce or simplify
the information [2] In other words IFC lacks semantic clarity [3] One way to clarify the semantics of
IFC consists of mapping them to classification systems such as OmniClass [4] or UniClass [5] Thereby
classifying IFCrsquos information and addressing the multiple definitions problem This process which nowa-
days is mostly done manually is called semantic enrichment of the IFC model To perform semantic
enrichment manually one needs to combine multiple tables from a classification system and for projects
with similar profiles but different IFC models all the work has to be repeated since there is no way of
reusing past classifications from similar projects This task is tedious time consuming and error-prone
One of the applications for performing semantic enrichment on IFC models is for activity planning in
construction projects In various cases the same IfcElement [6] can have different activities assigned
to it depending on the profile of the project in question This problem can be addressed with a rec-
ommendation algorithm to help choose the most suitable assignments of activities depending on the
project
Two solutions have been proposed in literature for the semantic enrichment of IFC models see-
BIM [7] performs semantic enrichment to IFC models with a rule-based engine However it does not
make use of classification systems proposing a complex and not easily usable solution Object Profile
Manager [8] is an IFC-compliant object-CAD based and Web Ontology Language (OWL) ontology ap-
proach for semantic interoperability for BIM However Computer-Aided Design (CAD) modelling is out of
the scope of this work Both of these approaches aim at solving the problem this thesis will attempt to
solve but both are incomplete
In the field of recommendations two kinds of algorithms were explored rule based and clustering
With a rule-based algorithm such as Apriori [9] the goal is to find elements that have a high probability
of always belonging to the same set For example in a e-commerce platform the goal is to find the
items that are frequently bought together and create an association rule between them On the other
side with clustering or nearest neighbours algorithms the goal is to create groups based on a similarity
function From the previous example the goal here is to find customers with similar tastes by grouping
them together based on common bought items [9 10]
2
This works aims at validating the feasibility of using a recommender system BIMLink to simplify
and reduce the time spent while classifying complex information extracted from an IFC file For a given
project the system will have stored information from previous projects that are similar and will suggest
activity assignments that are similar The similarity of the projects is calculated according to the project
profile defined by its type and the region it is located in These suggestions will be based on a recom-
mendation algorithm that suggests the activities based on a calculated weight for each association This
weight is modified every time a suggestion is either correct or incorrect The algorithm will always aim to
suggest the associations with the higher weights according to previous similar projects The only tasks
the user needs to perform is validate the suggestions and add missing ones or delete incorrect ones
In order to evaluate the success of the system user tests will be conducted to conclude the usability
of the system and if it indeed does reduce the time spent while performing activity planning Also internal
performance tests on the algorithm will be performed to determine the quality of the recommendations
With this system it is expected that the time spent with activity planning will be reduced significantly
and the degree of complexity of this task will also decrease As for the semantic enrichment of the IFC
models it is expected that after performing the classifications in the case of this work performing the
assignment of activities to IFC elements the ambiguity will be extremely reduced and so will IFCrsquos lack
of semantic clarity
11 Motivation
When performing activity planning for a construction project there are two outcomes that are of
extreme importance for an efficient plan These are the resources that are needed for each activity as
well as the cost of each activity These measures will help determine the feasibility and success of the
construction project
To achieve the highest level of accuracy for the plan the activities need to be carefully assigned to
the right elements This can be an issue due to the fact that the chosen activity for a given construction
element depends on the context of the construction project For example one construction element
such as a door can be assigned one activity in one project such as assembling the door and another
activity for instance painting in another project If for some reason the wrong activity is assigned
the wrong construction element the resources and cost for that activity can be miscalculated This is
why a system that aids with activity planning reducing errors in activity assignment is needed which is
portrayed in Figure 11 This system uses the Omniclass Classification System by mapping Omniclass
Products to Omniclass Work results which represent the elements and activities respectively
12 Methodology and Contributions
This work has two main goals The first is to perform a literature review that intends to conclude if
there is currently any solution for Semantic Enrichment of IFC models with the Omniclass Classification
System The second goal of this work is to develop a solution that provides a way to semantically enrich
IFC models with the Omniclass Classification System while resorting to a recommendation algorithm so
3
Figure 11 The dashed lines represent the goal to achieve with the proposed solution a direct mapping betweenIFC Elements and activities extracted from OmniClass standard
that the time the user needs to spend enriching the model with activities is reduced To fulfill these goals
this work will be conducted as follows
bull Description of the concepts concerning BIM and recommendation algorithms
bull Analysis of the solutions used for Semantic Enrichment
bull Analysis of the most popular recommender systems
bull Identify in the literature the most suitable recommendation technique
bull Formalize an algorithm that fulfils the goal of the system
bull Develop an application BIMLink that fulfils the requirements of the system by using the formalized
algorithm to perform recommendations of the IFC files
bull Perform tests on the solution in order to validate the accuracy of the algorithm and feasibility of the
system
13 Document Organization
This manuscript is structured as follows Section 2 introduces the fundamental concepts of Building
Information Models as well as recommendation algorithms Section 3 details the related work in the
areas of BIM concerning Semantic Enrichment and recommender systems This section ends with an
analysis of the applicability of the presented systems to the problem to be solved Section 4 presents
a conceptual overview of the solution describing the relevant information from the IFC files as well as
formalizing the algorithm It also presents the domain model the requirements the system must fulfil
and the architecture of the solution Section 5 outlines the implementation details of the systemrsquos main
features Section 6 describes the validation plan and the results and finally Section 7 presents the
conclusions
4
2Concepts
Contents21 Building Information Modelling 622 Omniclass Classification System 1023 Ontologies 1224 Recommendation Algorithms 13
5
This section presents the concepts that are relevant for the understanding of the problem of this
work The first concept to be described is BIM 21 where its main features are presented Next Clas-
sification Systems 222 namely OmniClasses and their properties are discussed A brief overview of
Ontologies23 in the field of this work is presented Finally an analysis on Recommendation Algorithms
244
21 Building Information Modelling
BIM is an open technology for digital building modelling According to the National Institute of Building
Sciences (NIBS)1 BIM can be described as an improved planning design construction operation and
maintenance process using a standardized machine readable information model for each facility new or
old which contains all appropriate information created or gathered about that facility in a format usable
by all throughout its life cycle [11 12]
BIM was created as a solution for the need to simplify the process of exchanging information between
the activities in buildingrsquos AECO phases Now it is possible for example that the initial drafts made by
the architects are given to the engineers through digital means This contributes to savings on paper
support since the processes are fully digital and reduces the complexity inherent to the construction
process while making it faster
BIM also has the advantage of enabling collaboration among the stakeholders For instance the
architect adds sketches of the building as well as itrsquos equipment the structural engineer modifies it to
comply with physical principles the builder uses it to help on the construction phase and the building
manager bases on it to operate the facility properly It is clear that all the projectrsquos stakeholders can
contribute to the model according to each onersquos area of expertise on each phase of the building life cycle
Another important aspect is that BIM makes most of the processes related to buildings more agile saving
in bureaucracy and enabling error traceability For example using a tool to build the three-dimensional
model of the facility one can easily check for collisions between different systems or construction errors
like a tube being exposed to the outside of the building roof [11 13 pp 21-22 24]
211 BIM Tools Platforms and Environments
Having a single model containing the facilityrsquos data enables integration of a wide variety of tools that
work the model not only for editing it but also for extracting information useful to analyse the facil-
ity Some of them are design tools but there are others that consider a set of other functionality BIM
tools are used with the purpose of executing specific tasks considering the building model such as
cost estimation energy simulation errorclash detection and many others BIM platforms are used to
help develop BIMs providing an UI for designing building products Finally BIM environments combine
functionality from the two above providing integration between BIM tools and platforms inside an orga-
nization BIM environments are useful for automating the generation of BIM reports and data sets from
the building mode [11 70 71]
1httpwwwnibsorg
6
212 BIM Schemas
While the BIM model describes information regarding an instance of a building a BIM schema pro-
vides a structure to enable the representation of constructs defining how each element of the building
is described through elements properties and relationships In practice a BIM model is an instance of
a building that can be stored in a common format based on the structure described in the schema
BIM schemas can be internal or external On one hand an internal BIM schema represents the way
BIM tools model the information of the building their modelling constructs and knowledge On the other
hand an external BIM schema represents a common model independent from the applications used
to enable interoperability among them Furthermore an internal schema describes concepts regarding
a tool or project phase while an external schema is used for exchange among the several phases of the
project [14]
213 Model View Definitions
In order to adapt to the complexity that comes from the fact that BIM models contain information about
several aspects regarding the building from design to operation Model View Definitions (MVDs) define
subset models regarding fewer aspects of the building These views define a simpler and more specific
set of data for use in a given scenario when needed by the different stakeholders [15] BIM exchange
formats such as IFC are provided with a set of these MVD which define simpler models used in specific
applications or by specific stakeholders For each exchange scenario MVDs help define what is and
what is not in the scope of each exchange scenario Some formatsmdashCOBie for examplemdashare intended
to resolve the problem of handover by representing information typically required to be delivered from
one stage to another like from construction to operation [11 pp 120-122]
214 Exchange Formats
One of the most important properties of BIM tools and platforms is their interoperability and to
achieve that the information must flow from one to another in an independent format that is understood
by different applications In order to achieve this requirement exchange formats are developedThe first
information exchange formats Drawing eXchange Format (DXF) and Initial Graphic Exchange Spec-
ification (IGES) appeared in the 1980s and had only geometric data on building With the efforts on
developing BIM these evolved into formats like IFC which contain information about building design
planning or construction management or CIMsteel Integration Standard 2 (CIS2) for representing fab-
rication and structural engineering of steel Modelling languages like EXPRESS or EXtensible Markup
Language (XML) are used in these exchange formats so that information can be passed through a file
base exchange [11 pp 99-104]
7
Figure 21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of the IFC struc-ture Each schema relates to a different concern
215 Industry Foundation Classes
IFC is an open exchange format for sharing building data across the several stakeholders of its project
and operation which was created by buildingSMART2 (former International Alliance for Interoperability)
and as of March 2013 it is a published international standard ISO 16739 It is designed to model all
the existing data throughout the buildingrsquos life cycle and is the actual standard format for openBIM3
a software tool kit for developing BIM extensions IFC makes the model extensible and interoperable
by enabling the modeller to create new definitions since it is based on a meta model that broads the
definition of Class [16] In 2010 the IFC Certification 20 procedure was developed by BuildingSmart
for the IFC 2x3 Coordination View Version (CV20) which is an MVD intended to promote consistent and
reliable implementations of the IFC specification by many software vendors across multiple platforms [7]
IFCs are modelled recurring to the EXPRESS language to describe the classes mentioned above
These classes are comprised by the specification of an object and its attributes Each objectrsquos semantic
is described by said attributes These objects are connected by relations There are three main types
of classes object relation and resource classes Object classes represent the several entities inside
a building which are identified by a global identifier and a ownership identifier Each object class has
attributes that describe its details and the context where it is being used (such as topology geometry
etc) Relation classes represent the way elements connect to other objects There are many kinds
of relation classes that implement diverse types of interaction such as aggregation containment or
control The applicability of each relation is limited in other words relations specify which objects can
be bound to them Resource classes represent the attributes used to describe entities [17]
IFC structuremdashthat can be found in buildingSMARTrsquos website4 is composed of data schemas each
one relating to a different concern As Figure 21 depicts the data schemas divide in four conceptual
layers[18] Starting from the bottom there is the Resource Layer which represents individual business
concerns such as costs geometry or material The schemas in this layer are used to define properties
of classes from the remaining layers Next there is the Core Layer which is divided in Kernel and Core
extension schemas include the most abstract entities that are specified by the ones from the following
layers (Domain and Interoperability) The entities from Core layer are identified by a global ID and an
2httpwwwbuildingsmartorg3httpwwwopenbimorg4httpwwwbuildingsmart-techorgifcIFC4finalhtmlindexhtm
8
optional Ownership ID and historical data Following the Core Layer there is the Interoperability Layer
and contains the models related to concepts that are used by two or more models from the Domain
Layer This layer has the purpose of enabling inter-domain exchange and information sharing between
the upper levelrsquos classes Finally the highest layer is the Domain Layer which includes the entities that
concern to specializations of products processes or resources from a specific discipline
In the context of this work it is very important to understand how the information concerning a
BIM model is represented in an IFC schema in order to structure that information and feed it to the
recommendation algorithm As represented in Figure 21 the information that is of most relevance to
this work belongs to the resource layer It is in this layer that we find the elements the recommendation
algorithm will need These elements can be for example a door a column the floor in which an object
is in or the relation between a window and a wall To illustrate this a practical example [19] of a how a
window can be placed inside a wall is illustrated
To insert a window or door in a wall it is required to create an opening For this the following entities
are relevant IfcWall IfcOpeningElement IfcWindow These entities need to be connected via relative
placement and via topological connection Each physical object has a placement The placement is rep-
resented by IfcLocalPlacement and can be relative to an IfcLocalPlacement of another physical object
(in case of aggregation feature or filling relation) or of an spatial structure element This process of local
placements is recursive IfcWall IfcOpeningElement and IfcWindow each have their own IfcLocalPlace-
ment however the IfcLocalPlacement of IfcWindow is defined relatively to the IfcLocalPlacement of
IfcOpeningElement and the IfcLocalPlacement of IfcOpeningElement is defined relatively to the IfcLo-
calPlacement of IfcWall The IfcWall and IfcOpeningElement are connected via the objectified relation
IfcRelVoidsElement The IfcRelVoidsElement is connected with the wall via the relationship Relating-
BuildingElement and to the opening element via the relationship RelatedOpeningElement Through
the inverse relationships it is possible to traverse from wall to opening element and vice versa The
IfcOpeningElement and IfcWindow are connected via the objectified relation IfcRelFillsElement The
IfcRelFillsElement is connected with the opening element via the relationship RelatingOpeningElement
and to the window via the relationship RelatedBuildingElement Through the inverse relationships it is
possible to traverse from opening element to window and vice versa The geometric representation of
this example is presented in Figure 23
From the example described above it is clear that when performing activity planning it is very impor-
tant to have two classes of the IFC model well defined the IfcElements and their relationships because
although in different projects a window is used itrsquos relationship to the other elements is crucial to decide
which activity to associate to the window
216 COBie
COBie can be defined as a MVD5 over BIM In other words it consists on a subset of information from
the building Its main use is as an data exchange format by construction teams to handover operational
and maintenance information collected during AEC phases to the facility owner as construction finishes5httpdocsbuildingsmartallianceorgMVD_COBIE
9
Figure 22 Geometric representation of wall opening and window A - 3D representation of the object B - List ofobject parameters
such as equipment lists preventive maintenance schedules or warranty information It can be viewed
in spreadsheets or imported by specific tools for visualization COBie was created to eliminate the
excess of paper usage arising from the information delivered to the building manager when the project
finishes Moreover information took too much time to be compiled since some documents had to be
recreated causing the information to be delivered much later than the expected Once the building
model is constantly updated as the project goes by there is no need to recreate information about what
happened in a given phase and therefore it reaches facility managers quicker with minimum delay [20]
22 Omniclass Classification System
The OmniClass Construction Classification System 6 commonly known as OmniClass or OCCS is
a classification system for the construction industry which is created by the North American AEC indus-
try It is useful for many applications in the area of BIM from organizing reports and object libraries to
providing a way to roll up or drill down through data to get the information that meets the needs of the
projectrsquos stakeholders In simple terms OmniClass is a standard for organizing all construction informa-
tion This information is structured in the form of tables OmniClass bases its tables in other systems that
are not in use any more Those systems are MasterFormat [21] UniFormat [22] and EPIC (Electronic
Product Information Cooperation) for work results elements and products respectively OmniClass fol-
lows the international framework set out in ISOTR 14177 This document was later established as a
standard in ISO 12006-2 Organization of Information about Construction Works - Part 2 Framework for
Classification of Information
221 OmniClass Tables
OmniClass is designed to provide a standardized basis for classifying information and is intended to
be the means for organizing sorting and retrieving information and deriving relational computer applica-6httpwwwomniclassorg
10
Omniclass Uniclass
Table 11 ndash Construction Entities by Function Table D ndash FacilitiesTable 12 ndash Construction Entities by Form Table E ndash Construction EntitiesTable 13 ndash Spaces by Function Table F ndash SpacesTable 14 ndash Spaces by Form Table F ndash Spaces
Table 21 ndash Elements Table G ndash Elements for BuildingsTable H ndash Elements for Civil Engineering Works
Table 22 ndash Work Results Table J ndash Work Sections for BuildingsTable K ndash Work Sections for Civil Engineering Works
Table 23 ndash Products Table L ndash Construction ProductsTable 31 ndash Phases Table C ndash Management (in part)Table 32 ndash Services OmniClass Table B ndash Subject DisciplinesTable 33 ndash Disciplines Table B ndash Subject DisciplinesTable 34 ndash Organizational Roles Table C ndash Management (in part)Table 35 ndash Tools Table M ndash Construction AidsTable 36 ndash Information Table A ndash Forms of InformationTable 41 ndash Materials Table P ndash MaterialsTable 49 ndash Properties Table N ndash Properties and Characteristics
Table 21 Mapping between the tables from OmniClass and Uniclass adapted from [4]
tions To fulfil this the system consists of 15 hierarchical tables each representing a different aspect of
construction information The tables can be used individually or combined when a more complex type of
information needs to be classified [4] Tables 11-12 are used to organize construction results Tables 23
33 34 and 35 and to a lesser extent 36 and 41 are used to organize construction resources And finally
tables 31 and 32 are used to classify construction processes including the phases of construction entity
life cycles The 15 tables of Omniclass also map to the suggested tables in Section 4 of ISO 12002-2
The most important characteristic of these tables is that they are designed to work together to provide
extremely granular or specific classification Depending on the complexity of the object being classified
and the level of detail desired an object can have occurrences in one two or more tables For example
when trying to describe the workcost relationship that states that if a wall is battered 30 of labour
cost is added and if the wall is curved an extra 30 is added there is a need to combine table 23 where
we can find the products and table 22 where the work results are stated and reflect the activities to be
performed on such products
222 Uniclass
The Unified Classification System for the Construction Industry is the United Kingdomrsquos equivalent
to Omniclass From an early point there has always been a collaboration between the developers of
both OmniClass and Uniclass in order to promote a harmonized international standard The mapping
between the tables from OmniClass to Uniclass is presented in Table 21
23 Ontologies
An ontology is a formal representation of an abstracted view of a domain that describes the objects
concepts and relationships between them that holds in that domain for a specific purpose [23] There
11
Figure 23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L - ConstructionProducts (B) where it is clear the tree structure of Omniclass tables
are different classifications of ontologies based on parameters such as level of granularity their use
and types of relationships [24ndash27] The process of ontology modelling consists of modelling the con-
cepts and relationships in a specific field into formal ontologies ie in an ontology language with formal
syntax [28] Ontology engineering is useful for enabling interoperability across heterogeneous systems
because it provides the necessary semantics for many fields of knowlegde and facilitates knowledge
reuse sharing and integration [29 30] In the context of this work ontologies help with IFCrsquos lack of
semantic clarity in mapping entities and relationships which can result in the potential for multiple data
structures to represent the same information [3] The goal of ontology development is to remove am-
biguities associated with different viewpoints and formalize IFC definitions for a robust model exchange
solution [31] Also ontologies are one of the key technologies to deal with the semantic interoperablity
caused by the need to share semantics of BIM among project participants who do not necessarily share
the same definition of terminologies [8] Ontologies specify the semantic of terminology systems in a
well defined and unambiguous manner [32] by formally and explicitly representing shared unterstanding
about domain concepts and the relationships between concepts
ifcOWL emerges as a solution to the problem presented above by being an ontology based on
the industry foundation classes This ontology was created semi automatically by BuildingSmart by
lifting an EXPRESS schema into an ontological level by transforming the language constructs from
the schema into a terminology box definition using Web Ontology Language [33] Using OWL (Web
Ontology Language) [34] the intended meanings of domain technologies and relations are specified
through various OWL constructs which have implemented OWL semantics and logical axioms in an
easy-to-use way [8] Another approach to solve IFCrsquos lack of semantic clarity are the OmniClass tables
described in which present a structured source for an ontology
12
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
This works aims at validating the feasibility of using a recommender system BIMLink to simplify
and reduce the time spent while classifying complex information extracted from an IFC file For a given
project the system will have stored information from previous projects that are similar and will suggest
activity assignments that are similar The similarity of the projects is calculated according to the project
profile defined by its type and the region it is located in These suggestions will be based on a recom-
mendation algorithm that suggests the activities based on a calculated weight for each association This
weight is modified every time a suggestion is either correct or incorrect The algorithm will always aim to
suggest the associations with the higher weights according to previous similar projects The only tasks
the user needs to perform is validate the suggestions and add missing ones or delete incorrect ones
In order to evaluate the success of the system user tests will be conducted to conclude the usability
of the system and if it indeed does reduce the time spent while performing activity planning Also internal
performance tests on the algorithm will be performed to determine the quality of the recommendations
With this system it is expected that the time spent with activity planning will be reduced significantly
and the degree of complexity of this task will also decrease As for the semantic enrichment of the IFC
models it is expected that after performing the classifications in the case of this work performing the
assignment of activities to IFC elements the ambiguity will be extremely reduced and so will IFCrsquos lack
of semantic clarity
11 Motivation
When performing activity planning for a construction project there are two outcomes that are of
extreme importance for an efficient plan These are the resources that are needed for each activity as
well as the cost of each activity These measures will help determine the feasibility and success of the
construction project
To achieve the highest level of accuracy for the plan the activities need to be carefully assigned to
the right elements This can be an issue due to the fact that the chosen activity for a given construction
element depends on the context of the construction project For example one construction element
such as a door can be assigned one activity in one project such as assembling the door and another
activity for instance painting in another project If for some reason the wrong activity is assigned
the wrong construction element the resources and cost for that activity can be miscalculated This is
why a system that aids with activity planning reducing errors in activity assignment is needed which is
portrayed in Figure 11 This system uses the Omniclass Classification System by mapping Omniclass
Products to Omniclass Work results which represent the elements and activities respectively
12 Methodology and Contributions
This work has two main goals The first is to perform a literature review that intends to conclude if
there is currently any solution for Semantic Enrichment of IFC models with the Omniclass Classification
System The second goal of this work is to develop a solution that provides a way to semantically enrich
IFC models with the Omniclass Classification System while resorting to a recommendation algorithm so
3
Figure 11 The dashed lines represent the goal to achieve with the proposed solution a direct mapping betweenIFC Elements and activities extracted from OmniClass standard
that the time the user needs to spend enriching the model with activities is reduced To fulfill these goals
this work will be conducted as follows
bull Description of the concepts concerning BIM and recommendation algorithms
bull Analysis of the solutions used for Semantic Enrichment
bull Analysis of the most popular recommender systems
bull Identify in the literature the most suitable recommendation technique
bull Formalize an algorithm that fulfils the goal of the system
bull Develop an application BIMLink that fulfils the requirements of the system by using the formalized
algorithm to perform recommendations of the IFC files
bull Perform tests on the solution in order to validate the accuracy of the algorithm and feasibility of the
system
13 Document Organization
This manuscript is structured as follows Section 2 introduces the fundamental concepts of Building
Information Models as well as recommendation algorithms Section 3 details the related work in the
areas of BIM concerning Semantic Enrichment and recommender systems This section ends with an
analysis of the applicability of the presented systems to the problem to be solved Section 4 presents
a conceptual overview of the solution describing the relevant information from the IFC files as well as
formalizing the algorithm It also presents the domain model the requirements the system must fulfil
and the architecture of the solution Section 5 outlines the implementation details of the systemrsquos main
features Section 6 describes the validation plan and the results and finally Section 7 presents the
conclusions
4
2Concepts
Contents21 Building Information Modelling 622 Omniclass Classification System 1023 Ontologies 1224 Recommendation Algorithms 13
5
This section presents the concepts that are relevant for the understanding of the problem of this
work The first concept to be described is BIM 21 where its main features are presented Next Clas-
sification Systems 222 namely OmniClasses and their properties are discussed A brief overview of
Ontologies23 in the field of this work is presented Finally an analysis on Recommendation Algorithms
244
21 Building Information Modelling
BIM is an open technology for digital building modelling According to the National Institute of Building
Sciences (NIBS)1 BIM can be described as an improved planning design construction operation and
maintenance process using a standardized machine readable information model for each facility new or
old which contains all appropriate information created or gathered about that facility in a format usable
by all throughout its life cycle [11 12]
BIM was created as a solution for the need to simplify the process of exchanging information between
the activities in buildingrsquos AECO phases Now it is possible for example that the initial drafts made by
the architects are given to the engineers through digital means This contributes to savings on paper
support since the processes are fully digital and reduces the complexity inherent to the construction
process while making it faster
BIM also has the advantage of enabling collaboration among the stakeholders For instance the
architect adds sketches of the building as well as itrsquos equipment the structural engineer modifies it to
comply with physical principles the builder uses it to help on the construction phase and the building
manager bases on it to operate the facility properly It is clear that all the projectrsquos stakeholders can
contribute to the model according to each onersquos area of expertise on each phase of the building life cycle
Another important aspect is that BIM makes most of the processes related to buildings more agile saving
in bureaucracy and enabling error traceability For example using a tool to build the three-dimensional
model of the facility one can easily check for collisions between different systems or construction errors
like a tube being exposed to the outside of the building roof [11 13 pp 21-22 24]
211 BIM Tools Platforms and Environments
Having a single model containing the facilityrsquos data enables integration of a wide variety of tools that
work the model not only for editing it but also for extracting information useful to analyse the facil-
ity Some of them are design tools but there are others that consider a set of other functionality BIM
tools are used with the purpose of executing specific tasks considering the building model such as
cost estimation energy simulation errorclash detection and many others BIM platforms are used to
help develop BIMs providing an UI for designing building products Finally BIM environments combine
functionality from the two above providing integration between BIM tools and platforms inside an orga-
nization BIM environments are useful for automating the generation of BIM reports and data sets from
the building mode [11 70 71]
1httpwwwnibsorg
6
212 BIM Schemas
While the BIM model describes information regarding an instance of a building a BIM schema pro-
vides a structure to enable the representation of constructs defining how each element of the building
is described through elements properties and relationships In practice a BIM model is an instance of
a building that can be stored in a common format based on the structure described in the schema
BIM schemas can be internal or external On one hand an internal BIM schema represents the way
BIM tools model the information of the building their modelling constructs and knowledge On the other
hand an external BIM schema represents a common model independent from the applications used
to enable interoperability among them Furthermore an internal schema describes concepts regarding
a tool or project phase while an external schema is used for exchange among the several phases of the
project [14]
213 Model View Definitions
In order to adapt to the complexity that comes from the fact that BIM models contain information about
several aspects regarding the building from design to operation Model View Definitions (MVDs) define
subset models regarding fewer aspects of the building These views define a simpler and more specific
set of data for use in a given scenario when needed by the different stakeholders [15] BIM exchange
formats such as IFC are provided with a set of these MVD which define simpler models used in specific
applications or by specific stakeholders For each exchange scenario MVDs help define what is and
what is not in the scope of each exchange scenario Some formatsmdashCOBie for examplemdashare intended
to resolve the problem of handover by representing information typically required to be delivered from
one stage to another like from construction to operation [11 pp 120-122]
214 Exchange Formats
One of the most important properties of BIM tools and platforms is their interoperability and to
achieve that the information must flow from one to another in an independent format that is understood
by different applications In order to achieve this requirement exchange formats are developedThe first
information exchange formats Drawing eXchange Format (DXF) and Initial Graphic Exchange Spec-
ification (IGES) appeared in the 1980s and had only geometric data on building With the efforts on
developing BIM these evolved into formats like IFC which contain information about building design
planning or construction management or CIMsteel Integration Standard 2 (CIS2) for representing fab-
rication and structural engineering of steel Modelling languages like EXPRESS or EXtensible Markup
Language (XML) are used in these exchange formats so that information can be passed through a file
base exchange [11 pp 99-104]
7
Figure 21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of the IFC struc-ture Each schema relates to a different concern
215 Industry Foundation Classes
IFC is an open exchange format for sharing building data across the several stakeholders of its project
and operation which was created by buildingSMART2 (former International Alliance for Interoperability)
and as of March 2013 it is a published international standard ISO 16739 It is designed to model all
the existing data throughout the buildingrsquos life cycle and is the actual standard format for openBIM3
a software tool kit for developing BIM extensions IFC makes the model extensible and interoperable
by enabling the modeller to create new definitions since it is based on a meta model that broads the
definition of Class [16] In 2010 the IFC Certification 20 procedure was developed by BuildingSmart
for the IFC 2x3 Coordination View Version (CV20) which is an MVD intended to promote consistent and
reliable implementations of the IFC specification by many software vendors across multiple platforms [7]
IFCs are modelled recurring to the EXPRESS language to describe the classes mentioned above
These classes are comprised by the specification of an object and its attributes Each objectrsquos semantic
is described by said attributes These objects are connected by relations There are three main types
of classes object relation and resource classes Object classes represent the several entities inside
a building which are identified by a global identifier and a ownership identifier Each object class has
attributes that describe its details and the context where it is being used (such as topology geometry
etc) Relation classes represent the way elements connect to other objects There are many kinds
of relation classes that implement diverse types of interaction such as aggregation containment or
control The applicability of each relation is limited in other words relations specify which objects can
be bound to them Resource classes represent the attributes used to describe entities [17]
IFC structuremdashthat can be found in buildingSMARTrsquos website4 is composed of data schemas each
one relating to a different concern As Figure 21 depicts the data schemas divide in four conceptual
layers[18] Starting from the bottom there is the Resource Layer which represents individual business
concerns such as costs geometry or material The schemas in this layer are used to define properties
of classes from the remaining layers Next there is the Core Layer which is divided in Kernel and Core
extension schemas include the most abstract entities that are specified by the ones from the following
layers (Domain and Interoperability) The entities from Core layer are identified by a global ID and an
2httpwwwbuildingsmartorg3httpwwwopenbimorg4httpwwwbuildingsmart-techorgifcIFC4finalhtmlindexhtm
8
optional Ownership ID and historical data Following the Core Layer there is the Interoperability Layer
and contains the models related to concepts that are used by two or more models from the Domain
Layer This layer has the purpose of enabling inter-domain exchange and information sharing between
the upper levelrsquos classes Finally the highest layer is the Domain Layer which includes the entities that
concern to specializations of products processes or resources from a specific discipline
In the context of this work it is very important to understand how the information concerning a
BIM model is represented in an IFC schema in order to structure that information and feed it to the
recommendation algorithm As represented in Figure 21 the information that is of most relevance to
this work belongs to the resource layer It is in this layer that we find the elements the recommendation
algorithm will need These elements can be for example a door a column the floor in which an object
is in or the relation between a window and a wall To illustrate this a practical example [19] of a how a
window can be placed inside a wall is illustrated
To insert a window or door in a wall it is required to create an opening For this the following entities
are relevant IfcWall IfcOpeningElement IfcWindow These entities need to be connected via relative
placement and via topological connection Each physical object has a placement The placement is rep-
resented by IfcLocalPlacement and can be relative to an IfcLocalPlacement of another physical object
(in case of aggregation feature or filling relation) or of an spatial structure element This process of local
placements is recursive IfcWall IfcOpeningElement and IfcWindow each have their own IfcLocalPlace-
ment however the IfcLocalPlacement of IfcWindow is defined relatively to the IfcLocalPlacement of
IfcOpeningElement and the IfcLocalPlacement of IfcOpeningElement is defined relatively to the IfcLo-
calPlacement of IfcWall The IfcWall and IfcOpeningElement are connected via the objectified relation
IfcRelVoidsElement The IfcRelVoidsElement is connected with the wall via the relationship Relating-
BuildingElement and to the opening element via the relationship RelatedOpeningElement Through
the inverse relationships it is possible to traverse from wall to opening element and vice versa The
IfcOpeningElement and IfcWindow are connected via the objectified relation IfcRelFillsElement The
IfcRelFillsElement is connected with the opening element via the relationship RelatingOpeningElement
and to the window via the relationship RelatedBuildingElement Through the inverse relationships it is
possible to traverse from opening element to window and vice versa The geometric representation of
this example is presented in Figure 23
From the example described above it is clear that when performing activity planning it is very impor-
tant to have two classes of the IFC model well defined the IfcElements and their relationships because
although in different projects a window is used itrsquos relationship to the other elements is crucial to decide
which activity to associate to the window
216 COBie
COBie can be defined as a MVD5 over BIM In other words it consists on a subset of information from
the building Its main use is as an data exchange format by construction teams to handover operational
and maintenance information collected during AEC phases to the facility owner as construction finishes5httpdocsbuildingsmartallianceorgMVD_COBIE
9
Figure 22 Geometric representation of wall opening and window A - 3D representation of the object B - List ofobject parameters
such as equipment lists preventive maintenance schedules or warranty information It can be viewed
in spreadsheets or imported by specific tools for visualization COBie was created to eliminate the
excess of paper usage arising from the information delivered to the building manager when the project
finishes Moreover information took too much time to be compiled since some documents had to be
recreated causing the information to be delivered much later than the expected Once the building
model is constantly updated as the project goes by there is no need to recreate information about what
happened in a given phase and therefore it reaches facility managers quicker with minimum delay [20]
22 Omniclass Classification System
The OmniClass Construction Classification System 6 commonly known as OmniClass or OCCS is
a classification system for the construction industry which is created by the North American AEC indus-
try It is useful for many applications in the area of BIM from organizing reports and object libraries to
providing a way to roll up or drill down through data to get the information that meets the needs of the
projectrsquos stakeholders In simple terms OmniClass is a standard for organizing all construction informa-
tion This information is structured in the form of tables OmniClass bases its tables in other systems that
are not in use any more Those systems are MasterFormat [21] UniFormat [22] and EPIC (Electronic
Product Information Cooperation) for work results elements and products respectively OmniClass fol-
lows the international framework set out in ISOTR 14177 This document was later established as a
standard in ISO 12006-2 Organization of Information about Construction Works - Part 2 Framework for
Classification of Information
221 OmniClass Tables
OmniClass is designed to provide a standardized basis for classifying information and is intended to
be the means for organizing sorting and retrieving information and deriving relational computer applica-6httpwwwomniclassorg
10
Omniclass Uniclass
Table 11 ndash Construction Entities by Function Table D ndash FacilitiesTable 12 ndash Construction Entities by Form Table E ndash Construction EntitiesTable 13 ndash Spaces by Function Table F ndash SpacesTable 14 ndash Spaces by Form Table F ndash Spaces
Table 21 ndash Elements Table G ndash Elements for BuildingsTable H ndash Elements for Civil Engineering Works
Table 22 ndash Work Results Table J ndash Work Sections for BuildingsTable K ndash Work Sections for Civil Engineering Works
Table 23 ndash Products Table L ndash Construction ProductsTable 31 ndash Phases Table C ndash Management (in part)Table 32 ndash Services OmniClass Table B ndash Subject DisciplinesTable 33 ndash Disciplines Table B ndash Subject DisciplinesTable 34 ndash Organizational Roles Table C ndash Management (in part)Table 35 ndash Tools Table M ndash Construction AidsTable 36 ndash Information Table A ndash Forms of InformationTable 41 ndash Materials Table P ndash MaterialsTable 49 ndash Properties Table N ndash Properties and Characteristics
Table 21 Mapping between the tables from OmniClass and Uniclass adapted from [4]
tions To fulfil this the system consists of 15 hierarchical tables each representing a different aspect of
construction information The tables can be used individually or combined when a more complex type of
information needs to be classified [4] Tables 11-12 are used to organize construction results Tables 23
33 34 and 35 and to a lesser extent 36 and 41 are used to organize construction resources And finally
tables 31 and 32 are used to classify construction processes including the phases of construction entity
life cycles The 15 tables of Omniclass also map to the suggested tables in Section 4 of ISO 12002-2
The most important characteristic of these tables is that they are designed to work together to provide
extremely granular or specific classification Depending on the complexity of the object being classified
and the level of detail desired an object can have occurrences in one two or more tables For example
when trying to describe the workcost relationship that states that if a wall is battered 30 of labour
cost is added and if the wall is curved an extra 30 is added there is a need to combine table 23 where
we can find the products and table 22 where the work results are stated and reflect the activities to be
performed on such products
222 Uniclass
The Unified Classification System for the Construction Industry is the United Kingdomrsquos equivalent
to Omniclass From an early point there has always been a collaboration between the developers of
both OmniClass and Uniclass in order to promote a harmonized international standard The mapping
between the tables from OmniClass to Uniclass is presented in Table 21
23 Ontologies
An ontology is a formal representation of an abstracted view of a domain that describes the objects
concepts and relationships between them that holds in that domain for a specific purpose [23] There
11
Figure 23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L - ConstructionProducts (B) where it is clear the tree structure of Omniclass tables
are different classifications of ontologies based on parameters such as level of granularity their use
and types of relationships [24ndash27] The process of ontology modelling consists of modelling the con-
cepts and relationships in a specific field into formal ontologies ie in an ontology language with formal
syntax [28] Ontology engineering is useful for enabling interoperability across heterogeneous systems
because it provides the necessary semantics for many fields of knowlegde and facilitates knowledge
reuse sharing and integration [29 30] In the context of this work ontologies help with IFCrsquos lack of
semantic clarity in mapping entities and relationships which can result in the potential for multiple data
structures to represent the same information [3] The goal of ontology development is to remove am-
biguities associated with different viewpoints and formalize IFC definitions for a robust model exchange
solution [31] Also ontologies are one of the key technologies to deal with the semantic interoperablity
caused by the need to share semantics of BIM among project participants who do not necessarily share
the same definition of terminologies [8] Ontologies specify the semantic of terminology systems in a
well defined and unambiguous manner [32] by formally and explicitly representing shared unterstanding
about domain concepts and the relationships between concepts
ifcOWL emerges as a solution to the problem presented above by being an ontology based on
the industry foundation classes This ontology was created semi automatically by BuildingSmart by
lifting an EXPRESS schema into an ontological level by transforming the language constructs from
the schema into a terminology box definition using Web Ontology Language [33] Using OWL (Web
Ontology Language) [34] the intended meanings of domain technologies and relations are specified
through various OWL constructs which have implemented OWL semantics and logical axioms in an
easy-to-use way [8] Another approach to solve IFCrsquos lack of semantic clarity are the OmniClass tables
described in which present a structured source for an ontology
12
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Figure 11 The dashed lines represent the goal to achieve with the proposed solution a direct mapping betweenIFC Elements and activities extracted from OmniClass standard
that the time the user needs to spend enriching the model with activities is reduced To fulfill these goals
this work will be conducted as follows
bull Description of the concepts concerning BIM and recommendation algorithms
bull Analysis of the solutions used for Semantic Enrichment
bull Analysis of the most popular recommender systems
bull Identify in the literature the most suitable recommendation technique
bull Formalize an algorithm that fulfils the goal of the system
bull Develop an application BIMLink that fulfils the requirements of the system by using the formalized
algorithm to perform recommendations of the IFC files
bull Perform tests on the solution in order to validate the accuracy of the algorithm and feasibility of the
system
13 Document Organization
This manuscript is structured as follows Section 2 introduces the fundamental concepts of Building
Information Models as well as recommendation algorithms Section 3 details the related work in the
areas of BIM concerning Semantic Enrichment and recommender systems This section ends with an
analysis of the applicability of the presented systems to the problem to be solved Section 4 presents
a conceptual overview of the solution describing the relevant information from the IFC files as well as
formalizing the algorithm It also presents the domain model the requirements the system must fulfil
and the architecture of the solution Section 5 outlines the implementation details of the systemrsquos main
features Section 6 describes the validation plan and the results and finally Section 7 presents the
conclusions
4
2Concepts
Contents21 Building Information Modelling 622 Omniclass Classification System 1023 Ontologies 1224 Recommendation Algorithms 13
5
This section presents the concepts that are relevant for the understanding of the problem of this
work The first concept to be described is BIM 21 where its main features are presented Next Clas-
sification Systems 222 namely OmniClasses and their properties are discussed A brief overview of
Ontologies23 in the field of this work is presented Finally an analysis on Recommendation Algorithms
244
21 Building Information Modelling
BIM is an open technology for digital building modelling According to the National Institute of Building
Sciences (NIBS)1 BIM can be described as an improved planning design construction operation and
maintenance process using a standardized machine readable information model for each facility new or
old which contains all appropriate information created or gathered about that facility in a format usable
by all throughout its life cycle [11 12]
BIM was created as a solution for the need to simplify the process of exchanging information between
the activities in buildingrsquos AECO phases Now it is possible for example that the initial drafts made by
the architects are given to the engineers through digital means This contributes to savings on paper
support since the processes are fully digital and reduces the complexity inherent to the construction
process while making it faster
BIM also has the advantage of enabling collaboration among the stakeholders For instance the
architect adds sketches of the building as well as itrsquos equipment the structural engineer modifies it to
comply with physical principles the builder uses it to help on the construction phase and the building
manager bases on it to operate the facility properly It is clear that all the projectrsquos stakeholders can
contribute to the model according to each onersquos area of expertise on each phase of the building life cycle
Another important aspect is that BIM makes most of the processes related to buildings more agile saving
in bureaucracy and enabling error traceability For example using a tool to build the three-dimensional
model of the facility one can easily check for collisions between different systems or construction errors
like a tube being exposed to the outside of the building roof [11 13 pp 21-22 24]
211 BIM Tools Platforms and Environments
Having a single model containing the facilityrsquos data enables integration of a wide variety of tools that
work the model not only for editing it but also for extracting information useful to analyse the facil-
ity Some of them are design tools but there are others that consider a set of other functionality BIM
tools are used with the purpose of executing specific tasks considering the building model such as
cost estimation energy simulation errorclash detection and many others BIM platforms are used to
help develop BIMs providing an UI for designing building products Finally BIM environments combine
functionality from the two above providing integration between BIM tools and platforms inside an orga-
nization BIM environments are useful for automating the generation of BIM reports and data sets from
the building mode [11 70 71]
1httpwwwnibsorg
6
212 BIM Schemas
While the BIM model describes information regarding an instance of a building a BIM schema pro-
vides a structure to enable the representation of constructs defining how each element of the building
is described through elements properties and relationships In practice a BIM model is an instance of
a building that can be stored in a common format based on the structure described in the schema
BIM schemas can be internal or external On one hand an internal BIM schema represents the way
BIM tools model the information of the building their modelling constructs and knowledge On the other
hand an external BIM schema represents a common model independent from the applications used
to enable interoperability among them Furthermore an internal schema describes concepts regarding
a tool or project phase while an external schema is used for exchange among the several phases of the
project [14]
213 Model View Definitions
In order to adapt to the complexity that comes from the fact that BIM models contain information about
several aspects regarding the building from design to operation Model View Definitions (MVDs) define
subset models regarding fewer aspects of the building These views define a simpler and more specific
set of data for use in a given scenario when needed by the different stakeholders [15] BIM exchange
formats such as IFC are provided with a set of these MVD which define simpler models used in specific
applications or by specific stakeholders For each exchange scenario MVDs help define what is and
what is not in the scope of each exchange scenario Some formatsmdashCOBie for examplemdashare intended
to resolve the problem of handover by representing information typically required to be delivered from
one stage to another like from construction to operation [11 pp 120-122]
214 Exchange Formats
One of the most important properties of BIM tools and platforms is their interoperability and to
achieve that the information must flow from one to another in an independent format that is understood
by different applications In order to achieve this requirement exchange formats are developedThe first
information exchange formats Drawing eXchange Format (DXF) and Initial Graphic Exchange Spec-
ification (IGES) appeared in the 1980s and had only geometric data on building With the efforts on
developing BIM these evolved into formats like IFC which contain information about building design
planning or construction management or CIMsteel Integration Standard 2 (CIS2) for representing fab-
rication and structural engineering of steel Modelling languages like EXPRESS or EXtensible Markup
Language (XML) are used in these exchange formats so that information can be passed through a file
base exchange [11 pp 99-104]
7
Figure 21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of the IFC struc-ture Each schema relates to a different concern
215 Industry Foundation Classes
IFC is an open exchange format for sharing building data across the several stakeholders of its project
and operation which was created by buildingSMART2 (former International Alliance for Interoperability)
and as of March 2013 it is a published international standard ISO 16739 It is designed to model all
the existing data throughout the buildingrsquos life cycle and is the actual standard format for openBIM3
a software tool kit for developing BIM extensions IFC makes the model extensible and interoperable
by enabling the modeller to create new definitions since it is based on a meta model that broads the
definition of Class [16] In 2010 the IFC Certification 20 procedure was developed by BuildingSmart
for the IFC 2x3 Coordination View Version (CV20) which is an MVD intended to promote consistent and
reliable implementations of the IFC specification by many software vendors across multiple platforms [7]
IFCs are modelled recurring to the EXPRESS language to describe the classes mentioned above
These classes are comprised by the specification of an object and its attributes Each objectrsquos semantic
is described by said attributes These objects are connected by relations There are three main types
of classes object relation and resource classes Object classes represent the several entities inside
a building which are identified by a global identifier and a ownership identifier Each object class has
attributes that describe its details and the context where it is being used (such as topology geometry
etc) Relation classes represent the way elements connect to other objects There are many kinds
of relation classes that implement diverse types of interaction such as aggregation containment or
control The applicability of each relation is limited in other words relations specify which objects can
be bound to them Resource classes represent the attributes used to describe entities [17]
IFC structuremdashthat can be found in buildingSMARTrsquos website4 is composed of data schemas each
one relating to a different concern As Figure 21 depicts the data schemas divide in four conceptual
layers[18] Starting from the bottom there is the Resource Layer which represents individual business
concerns such as costs geometry or material The schemas in this layer are used to define properties
of classes from the remaining layers Next there is the Core Layer which is divided in Kernel and Core
extension schemas include the most abstract entities that are specified by the ones from the following
layers (Domain and Interoperability) The entities from Core layer are identified by a global ID and an
2httpwwwbuildingsmartorg3httpwwwopenbimorg4httpwwwbuildingsmart-techorgifcIFC4finalhtmlindexhtm
8
optional Ownership ID and historical data Following the Core Layer there is the Interoperability Layer
and contains the models related to concepts that are used by two or more models from the Domain
Layer This layer has the purpose of enabling inter-domain exchange and information sharing between
the upper levelrsquos classes Finally the highest layer is the Domain Layer which includes the entities that
concern to specializations of products processes or resources from a specific discipline
In the context of this work it is very important to understand how the information concerning a
BIM model is represented in an IFC schema in order to structure that information and feed it to the
recommendation algorithm As represented in Figure 21 the information that is of most relevance to
this work belongs to the resource layer It is in this layer that we find the elements the recommendation
algorithm will need These elements can be for example a door a column the floor in which an object
is in or the relation between a window and a wall To illustrate this a practical example [19] of a how a
window can be placed inside a wall is illustrated
To insert a window or door in a wall it is required to create an opening For this the following entities
are relevant IfcWall IfcOpeningElement IfcWindow These entities need to be connected via relative
placement and via topological connection Each physical object has a placement The placement is rep-
resented by IfcLocalPlacement and can be relative to an IfcLocalPlacement of another physical object
(in case of aggregation feature or filling relation) or of an spatial structure element This process of local
placements is recursive IfcWall IfcOpeningElement and IfcWindow each have their own IfcLocalPlace-
ment however the IfcLocalPlacement of IfcWindow is defined relatively to the IfcLocalPlacement of
IfcOpeningElement and the IfcLocalPlacement of IfcOpeningElement is defined relatively to the IfcLo-
calPlacement of IfcWall The IfcWall and IfcOpeningElement are connected via the objectified relation
IfcRelVoidsElement The IfcRelVoidsElement is connected with the wall via the relationship Relating-
BuildingElement and to the opening element via the relationship RelatedOpeningElement Through
the inverse relationships it is possible to traverse from wall to opening element and vice versa The
IfcOpeningElement and IfcWindow are connected via the objectified relation IfcRelFillsElement The
IfcRelFillsElement is connected with the opening element via the relationship RelatingOpeningElement
and to the window via the relationship RelatedBuildingElement Through the inverse relationships it is
possible to traverse from opening element to window and vice versa The geometric representation of
this example is presented in Figure 23
From the example described above it is clear that when performing activity planning it is very impor-
tant to have two classes of the IFC model well defined the IfcElements and their relationships because
although in different projects a window is used itrsquos relationship to the other elements is crucial to decide
which activity to associate to the window
216 COBie
COBie can be defined as a MVD5 over BIM In other words it consists on a subset of information from
the building Its main use is as an data exchange format by construction teams to handover operational
and maintenance information collected during AEC phases to the facility owner as construction finishes5httpdocsbuildingsmartallianceorgMVD_COBIE
9
Figure 22 Geometric representation of wall opening and window A - 3D representation of the object B - List ofobject parameters
such as equipment lists preventive maintenance schedules or warranty information It can be viewed
in spreadsheets or imported by specific tools for visualization COBie was created to eliminate the
excess of paper usage arising from the information delivered to the building manager when the project
finishes Moreover information took too much time to be compiled since some documents had to be
recreated causing the information to be delivered much later than the expected Once the building
model is constantly updated as the project goes by there is no need to recreate information about what
happened in a given phase and therefore it reaches facility managers quicker with minimum delay [20]
22 Omniclass Classification System
The OmniClass Construction Classification System 6 commonly known as OmniClass or OCCS is
a classification system for the construction industry which is created by the North American AEC indus-
try It is useful for many applications in the area of BIM from organizing reports and object libraries to
providing a way to roll up or drill down through data to get the information that meets the needs of the
projectrsquos stakeholders In simple terms OmniClass is a standard for organizing all construction informa-
tion This information is structured in the form of tables OmniClass bases its tables in other systems that
are not in use any more Those systems are MasterFormat [21] UniFormat [22] and EPIC (Electronic
Product Information Cooperation) for work results elements and products respectively OmniClass fol-
lows the international framework set out in ISOTR 14177 This document was later established as a
standard in ISO 12006-2 Organization of Information about Construction Works - Part 2 Framework for
Classification of Information
221 OmniClass Tables
OmniClass is designed to provide a standardized basis for classifying information and is intended to
be the means for organizing sorting and retrieving information and deriving relational computer applica-6httpwwwomniclassorg
10
Omniclass Uniclass
Table 11 ndash Construction Entities by Function Table D ndash FacilitiesTable 12 ndash Construction Entities by Form Table E ndash Construction EntitiesTable 13 ndash Spaces by Function Table F ndash SpacesTable 14 ndash Spaces by Form Table F ndash Spaces
Table 21 ndash Elements Table G ndash Elements for BuildingsTable H ndash Elements for Civil Engineering Works
Table 22 ndash Work Results Table J ndash Work Sections for BuildingsTable K ndash Work Sections for Civil Engineering Works
Table 23 ndash Products Table L ndash Construction ProductsTable 31 ndash Phases Table C ndash Management (in part)Table 32 ndash Services OmniClass Table B ndash Subject DisciplinesTable 33 ndash Disciplines Table B ndash Subject DisciplinesTable 34 ndash Organizational Roles Table C ndash Management (in part)Table 35 ndash Tools Table M ndash Construction AidsTable 36 ndash Information Table A ndash Forms of InformationTable 41 ndash Materials Table P ndash MaterialsTable 49 ndash Properties Table N ndash Properties and Characteristics
Table 21 Mapping between the tables from OmniClass and Uniclass adapted from [4]
tions To fulfil this the system consists of 15 hierarchical tables each representing a different aspect of
construction information The tables can be used individually or combined when a more complex type of
information needs to be classified [4] Tables 11-12 are used to organize construction results Tables 23
33 34 and 35 and to a lesser extent 36 and 41 are used to organize construction resources And finally
tables 31 and 32 are used to classify construction processes including the phases of construction entity
life cycles The 15 tables of Omniclass also map to the suggested tables in Section 4 of ISO 12002-2
The most important characteristic of these tables is that they are designed to work together to provide
extremely granular or specific classification Depending on the complexity of the object being classified
and the level of detail desired an object can have occurrences in one two or more tables For example
when trying to describe the workcost relationship that states that if a wall is battered 30 of labour
cost is added and if the wall is curved an extra 30 is added there is a need to combine table 23 where
we can find the products and table 22 where the work results are stated and reflect the activities to be
performed on such products
222 Uniclass
The Unified Classification System for the Construction Industry is the United Kingdomrsquos equivalent
to Omniclass From an early point there has always been a collaboration between the developers of
both OmniClass and Uniclass in order to promote a harmonized international standard The mapping
between the tables from OmniClass to Uniclass is presented in Table 21
23 Ontologies
An ontology is a formal representation of an abstracted view of a domain that describes the objects
concepts and relationships between them that holds in that domain for a specific purpose [23] There
11
Figure 23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L - ConstructionProducts (B) where it is clear the tree structure of Omniclass tables
are different classifications of ontologies based on parameters such as level of granularity their use
and types of relationships [24ndash27] The process of ontology modelling consists of modelling the con-
cepts and relationships in a specific field into formal ontologies ie in an ontology language with formal
syntax [28] Ontology engineering is useful for enabling interoperability across heterogeneous systems
because it provides the necessary semantics for many fields of knowlegde and facilitates knowledge
reuse sharing and integration [29 30] In the context of this work ontologies help with IFCrsquos lack of
semantic clarity in mapping entities and relationships which can result in the potential for multiple data
structures to represent the same information [3] The goal of ontology development is to remove am-
biguities associated with different viewpoints and formalize IFC definitions for a robust model exchange
solution [31] Also ontologies are one of the key technologies to deal with the semantic interoperablity
caused by the need to share semantics of BIM among project participants who do not necessarily share
the same definition of terminologies [8] Ontologies specify the semantic of terminology systems in a
well defined and unambiguous manner [32] by formally and explicitly representing shared unterstanding
about domain concepts and the relationships between concepts
ifcOWL emerges as a solution to the problem presented above by being an ontology based on
the industry foundation classes This ontology was created semi automatically by BuildingSmart by
lifting an EXPRESS schema into an ontological level by transforming the language constructs from
the schema into a terminology box definition using Web Ontology Language [33] Using OWL (Web
Ontology Language) [34] the intended meanings of domain technologies and relations are specified
through various OWL constructs which have implemented OWL semantics and logical axioms in an
easy-to-use way [8] Another approach to solve IFCrsquos lack of semantic clarity are the OmniClass tables
described in which present a structured source for an ontology
12
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
2Concepts
Contents21 Building Information Modelling 622 Omniclass Classification System 1023 Ontologies 1224 Recommendation Algorithms 13
5
This section presents the concepts that are relevant for the understanding of the problem of this
work The first concept to be described is BIM 21 where its main features are presented Next Clas-
sification Systems 222 namely OmniClasses and their properties are discussed A brief overview of
Ontologies23 in the field of this work is presented Finally an analysis on Recommendation Algorithms
244
21 Building Information Modelling
BIM is an open technology for digital building modelling According to the National Institute of Building
Sciences (NIBS)1 BIM can be described as an improved planning design construction operation and
maintenance process using a standardized machine readable information model for each facility new or
old which contains all appropriate information created or gathered about that facility in a format usable
by all throughout its life cycle [11 12]
BIM was created as a solution for the need to simplify the process of exchanging information between
the activities in buildingrsquos AECO phases Now it is possible for example that the initial drafts made by
the architects are given to the engineers through digital means This contributes to savings on paper
support since the processes are fully digital and reduces the complexity inherent to the construction
process while making it faster
BIM also has the advantage of enabling collaboration among the stakeholders For instance the
architect adds sketches of the building as well as itrsquos equipment the structural engineer modifies it to
comply with physical principles the builder uses it to help on the construction phase and the building
manager bases on it to operate the facility properly It is clear that all the projectrsquos stakeholders can
contribute to the model according to each onersquos area of expertise on each phase of the building life cycle
Another important aspect is that BIM makes most of the processes related to buildings more agile saving
in bureaucracy and enabling error traceability For example using a tool to build the three-dimensional
model of the facility one can easily check for collisions between different systems or construction errors
like a tube being exposed to the outside of the building roof [11 13 pp 21-22 24]
211 BIM Tools Platforms and Environments
Having a single model containing the facilityrsquos data enables integration of a wide variety of tools that
work the model not only for editing it but also for extracting information useful to analyse the facil-
ity Some of them are design tools but there are others that consider a set of other functionality BIM
tools are used with the purpose of executing specific tasks considering the building model such as
cost estimation energy simulation errorclash detection and many others BIM platforms are used to
help develop BIMs providing an UI for designing building products Finally BIM environments combine
functionality from the two above providing integration between BIM tools and platforms inside an orga-
nization BIM environments are useful for automating the generation of BIM reports and data sets from
the building mode [11 70 71]
1httpwwwnibsorg
6
212 BIM Schemas
While the BIM model describes information regarding an instance of a building a BIM schema pro-
vides a structure to enable the representation of constructs defining how each element of the building
is described through elements properties and relationships In practice a BIM model is an instance of
a building that can be stored in a common format based on the structure described in the schema
BIM schemas can be internal or external On one hand an internal BIM schema represents the way
BIM tools model the information of the building their modelling constructs and knowledge On the other
hand an external BIM schema represents a common model independent from the applications used
to enable interoperability among them Furthermore an internal schema describes concepts regarding
a tool or project phase while an external schema is used for exchange among the several phases of the
project [14]
213 Model View Definitions
In order to adapt to the complexity that comes from the fact that BIM models contain information about
several aspects regarding the building from design to operation Model View Definitions (MVDs) define
subset models regarding fewer aspects of the building These views define a simpler and more specific
set of data for use in a given scenario when needed by the different stakeholders [15] BIM exchange
formats such as IFC are provided with a set of these MVD which define simpler models used in specific
applications or by specific stakeholders For each exchange scenario MVDs help define what is and
what is not in the scope of each exchange scenario Some formatsmdashCOBie for examplemdashare intended
to resolve the problem of handover by representing information typically required to be delivered from
one stage to another like from construction to operation [11 pp 120-122]
214 Exchange Formats
One of the most important properties of BIM tools and platforms is their interoperability and to
achieve that the information must flow from one to another in an independent format that is understood
by different applications In order to achieve this requirement exchange formats are developedThe first
information exchange formats Drawing eXchange Format (DXF) and Initial Graphic Exchange Spec-
ification (IGES) appeared in the 1980s and had only geometric data on building With the efforts on
developing BIM these evolved into formats like IFC which contain information about building design
planning or construction management or CIMsteel Integration Standard 2 (CIS2) for representing fab-
rication and structural engineering of steel Modelling languages like EXPRESS or EXtensible Markup
Language (XML) are used in these exchange formats so that information can be passed through a file
base exchange [11 pp 99-104]
7
Figure 21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of the IFC struc-ture Each schema relates to a different concern
215 Industry Foundation Classes
IFC is an open exchange format for sharing building data across the several stakeholders of its project
and operation which was created by buildingSMART2 (former International Alliance for Interoperability)
and as of March 2013 it is a published international standard ISO 16739 It is designed to model all
the existing data throughout the buildingrsquos life cycle and is the actual standard format for openBIM3
a software tool kit for developing BIM extensions IFC makes the model extensible and interoperable
by enabling the modeller to create new definitions since it is based on a meta model that broads the
definition of Class [16] In 2010 the IFC Certification 20 procedure was developed by BuildingSmart
for the IFC 2x3 Coordination View Version (CV20) which is an MVD intended to promote consistent and
reliable implementations of the IFC specification by many software vendors across multiple platforms [7]
IFCs are modelled recurring to the EXPRESS language to describe the classes mentioned above
These classes are comprised by the specification of an object and its attributes Each objectrsquos semantic
is described by said attributes These objects are connected by relations There are three main types
of classes object relation and resource classes Object classes represent the several entities inside
a building which are identified by a global identifier and a ownership identifier Each object class has
attributes that describe its details and the context where it is being used (such as topology geometry
etc) Relation classes represent the way elements connect to other objects There are many kinds
of relation classes that implement diverse types of interaction such as aggregation containment or
control The applicability of each relation is limited in other words relations specify which objects can
be bound to them Resource classes represent the attributes used to describe entities [17]
IFC structuremdashthat can be found in buildingSMARTrsquos website4 is composed of data schemas each
one relating to a different concern As Figure 21 depicts the data schemas divide in four conceptual
layers[18] Starting from the bottom there is the Resource Layer which represents individual business
concerns such as costs geometry or material The schemas in this layer are used to define properties
of classes from the remaining layers Next there is the Core Layer which is divided in Kernel and Core
extension schemas include the most abstract entities that are specified by the ones from the following
layers (Domain and Interoperability) The entities from Core layer are identified by a global ID and an
2httpwwwbuildingsmartorg3httpwwwopenbimorg4httpwwwbuildingsmart-techorgifcIFC4finalhtmlindexhtm
8
optional Ownership ID and historical data Following the Core Layer there is the Interoperability Layer
and contains the models related to concepts that are used by two or more models from the Domain
Layer This layer has the purpose of enabling inter-domain exchange and information sharing between
the upper levelrsquos classes Finally the highest layer is the Domain Layer which includes the entities that
concern to specializations of products processes or resources from a specific discipline
In the context of this work it is very important to understand how the information concerning a
BIM model is represented in an IFC schema in order to structure that information and feed it to the
recommendation algorithm As represented in Figure 21 the information that is of most relevance to
this work belongs to the resource layer It is in this layer that we find the elements the recommendation
algorithm will need These elements can be for example a door a column the floor in which an object
is in or the relation between a window and a wall To illustrate this a practical example [19] of a how a
window can be placed inside a wall is illustrated
To insert a window or door in a wall it is required to create an opening For this the following entities
are relevant IfcWall IfcOpeningElement IfcWindow These entities need to be connected via relative
placement and via topological connection Each physical object has a placement The placement is rep-
resented by IfcLocalPlacement and can be relative to an IfcLocalPlacement of another physical object
(in case of aggregation feature or filling relation) or of an spatial structure element This process of local
placements is recursive IfcWall IfcOpeningElement and IfcWindow each have their own IfcLocalPlace-
ment however the IfcLocalPlacement of IfcWindow is defined relatively to the IfcLocalPlacement of
IfcOpeningElement and the IfcLocalPlacement of IfcOpeningElement is defined relatively to the IfcLo-
calPlacement of IfcWall The IfcWall and IfcOpeningElement are connected via the objectified relation
IfcRelVoidsElement The IfcRelVoidsElement is connected with the wall via the relationship Relating-
BuildingElement and to the opening element via the relationship RelatedOpeningElement Through
the inverse relationships it is possible to traverse from wall to opening element and vice versa The
IfcOpeningElement and IfcWindow are connected via the objectified relation IfcRelFillsElement The
IfcRelFillsElement is connected with the opening element via the relationship RelatingOpeningElement
and to the window via the relationship RelatedBuildingElement Through the inverse relationships it is
possible to traverse from opening element to window and vice versa The geometric representation of
this example is presented in Figure 23
From the example described above it is clear that when performing activity planning it is very impor-
tant to have two classes of the IFC model well defined the IfcElements and their relationships because
although in different projects a window is used itrsquos relationship to the other elements is crucial to decide
which activity to associate to the window
216 COBie
COBie can be defined as a MVD5 over BIM In other words it consists on a subset of information from
the building Its main use is as an data exchange format by construction teams to handover operational
and maintenance information collected during AEC phases to the facility owner as construction finishes5httpdocsbuildingsmartallianceorgMVD_COBIE
9
Figure 22 Geometric representation of wall opening and window A - 3D representation of the object B - List ofobject parameters
such as equipment lists preventive maintenance schedules or warranty information It can be viewed
in spreadsheets or imported by specific tools for visualization COBie was created to eliminate the
excess of paper usage arising from the information delivered to the building manager when the project
finishes Moreover information took too much time to be compiled since some documents had to be
recreated causing the information to be delivered much later than the expected Once the building
model is constantly updated as the project goes by there is no need to recreate information about what
happened in a given phase and therefore it reaches facility managers quicker with minimum delay [20]
22 Omniclass Classification System
The OmniClass Construction Classification System 6 commonly known as OmniClass or OCCS is
a classification system for the construction industry which is created by the North American AEC indus-
try It is useful for many applications in the area of BIM from organizing reports and object libraries to
providing a way to roll up or drill down through data to get the information that meets the needs of the
projectrsquos stakeholders In simple terms OmniClass is a standard for organizing all construction informa-
tion This information is structured in the form of tables OmniClass bases its tables in other systems that
are not in use any more Those systems are MasterFormat [21] UniFormat [22] and EPIC (Electronic
Product Information Cooperation) for work results elements and products respectively OmniClass fol-
lows the international framework set out in ISOTR 14177 This document was later established as a
standard in ISO 12006-2 Organization of Information about Construction Works - Part 2 Framework for
Classification of Information
221 OmniClass Tables
OmniClass is designed to provide a standardized basis for classifying information and is intended to
be the means for organizing sorting and retrieving information and deriving relational computer applica-6httpwwwomniclassorg
10
Omniclass Uniclass
Table 11 ndash Construction Entities by Function Table D ndash FacilitiesTable 12 ndash Construction Entities by Form Table E ndash Construction EntitiesTable 13 ndash Spaces by Function Table F ndash SpacesTable 14 ndash Spaces by Form Table F ndash Spaces
Table 21 ndash Elements Table G ndash Elements for BuildingsTable H ndash Elements for Civil Engineering Works
Table 22 ndash Work Results Table J ndash Work Sections for BuildingsTable K ndash Work Sections for Civil Engineering Works
Table 23 ndash Products Table L ndash Construction ProductsTable 31 ndash Phases Table C ndash Management (in part)Table 32 ndash Services OmniClass Table B ndash Subject DisciplinesTable 33 ndash Disciplines Table B ndash Subject DisciplinesTable 34 ndash Organizational Roles Table C ndash Management (in part)Table 35 ndash Tools Table M ndash Construction AidsTable 36 ndash Information Table A ndash Forms of InformationTable 41 ndash Materials Table P ndash MaterialsTable 49 ndash Properties Table N ndash Properties and Characteristics
Table 21 Mapping between the tables from OmniClass and Uniclass adapted from [4]
tions To fulfil this the system consists of 15 hierarchical tables each representing a different aspect of
construction information The tables can be used individually or combined when a more complex type of
information needs to be classified [4] Tables 11-12 are used to organize construction results Tables 23
33 34 and 35 and to a lesser extent 36 and 41 are used to organize construction resources And finally
tables 31 and 32 are used to classify construction processes including the phases of construction entity
life cycles The 15 tables of Omniclass also map to the suggested tables in Section 4 of ISO 12002-2
The most important characteristic of these tables is that they are designed to work together to provide
extremely granular or specific classification Depending on the complexity of the object being classified
and the level of detail desired an object can have occurrences in one two or more tables For example
when trying to describe the workcost relationship that states that if a wall is battered 30 of labour
cost is added and if the wall is curved an extra 30 is added there is a need to combine table 23 where
we can find the products and table 22 where the work results are stated and reflect the activities to be
performed on such products
222 Uniclass
The Unified Classification System for the Construction Industry is the United Kingdomrsquos equivalent
to Omniclass From an early point there has always been a collaboration between the developers of
both OmniClass and Uniclass in order to promote a harmonized international standard The mapping
between the tables from OmniClass to Uniclass is presented in Table 21
23 Ontologies
An ontology is a formal representation of an abstracted view of a domain that describes the objects
concepts and relationships between them that holds in that domain for a specific purpose [23] There
11
Figure 23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L - ConstructionProducts (B) where it is clear the tree structure of Omniclass tables
are different classifications of ontologies based on parameters such as level of granularity their use
and types of relationships [24ndash27] The process of ontology modelling consists of modelling the con-
cepts and relationships in a specific field into formal ontologies ie in an ontology language with formal
syntax [28] Ontology engineering is useful for enabling interoperability across heterogeneous systems
because it provides the necessary semantics for many fields of knowlegde and facilitates knowledge
reuse sharing and integration [29 30] In the context of this work ontologies help with IFCrsquos lack of
semantic clarity in mapping entities and relationships which can result in the potential for multiple data
structures to represent the same information [3] The goal of ontology development is to remove am-
biguities associated with different viewpoints and formalize IFC definitions for a robust model exchange
solution [31] Also ontologies are one of the key technologies to deal with the semantic interoperablity
caused by the need to share semantics of BIM among project participants who do not necessarily share
the same definition of terminologies [8] Ontologies specify the semantic of terminology systems in a
well defined and unambiguous manner [32] by formally and explicitly representing shared unterstanding
about domain concepts and the relationships between concepts
ifcOWL emerges as a solution to the problem presented above by being an ontology based on
the industry foundation classes This ontology was created semi automatically by BuildingSmart by
lifting an EXPRESS schema into an ontological level by transforming the language constructs from
the schema into a terminology box definition using Web Ontology Language [33] Using OWL (Web
Ontology Language) [34] the intended meanings of domain technologies and relations are specified
through various OWL constructs which have implemented OWL semantics and logical axioms in an
easy-to-use way [8] Another approach to solve IFCrsquos lack of semantic clarity are the OmniClass tables
described in which present a structured source for an ontology
12
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
This section presents the concepts that are relevant for the understanding of the problem of this
work The first concept to be described is BIM 21 where its main features are presented Next Clas-
sification Systems 222 namely OmniClasses and their properties are discussed A brief overview of
Ontologies23 in the field of this work is presented Finally an analysis on Recommendation Algorithms
244
21 Building Information Modelling
BIM is an open technology for digital building modelling According to the National Institute of Building
Sciences (NIBS)1 BIM can be described as an improved planning design construction operation and
maintenance process using a standardized machine readable information model for each facility new or
old which contains all appropriate information created or gathered about that facility in a format usable
by all throughout its life cycle [11 12]
BIM was created as a solution for the need to simplify the process of exchanging information between
the activities in buildingrsquos AECO phases Now it is possible for example that the initial drafts made by
the architects are given to the engineers through digital means This contributes to savings on paper
support since the processes are fully digital and reduces the complexity inherent to the construction
process while making it faster
BIM also has the advantage of enabling collaboration among the stakeholders For instance the
architect adds sketches of the building as well as itrsquos equipment the structural engineer modifies it to
comply with physical principles the builder uses it to help on the construction phase and the building
manager bases on it to operate the facility properly It is clear that all the projectrsquos stakeholders can
contribute to the model according to each onersquos area of expertise on each phase of the building life cycle
Another important aspect is that BIM makes most of the processes related to buildings more agile saving
in bureaucracy and enabling error traceability For example using a tool to build the three-dimensional
model of the facility one can easily check for collisions between different systems or construction errors
like a tube being exposed to the outside of the building roof [11 13 pp 21-22 24]
211 BIM Tools Platforms and Environments
Having a single model containing the facilityrsquos data enables integration of a wide variety of tools that
work the model not only for editing it but also for extracting information useful to analyse the facil-
ity Some of them are design tools but there are others that consider a set of other functionality BIM
tools are used with the purpose of executing specific tasks considering the building model such as
cost estimation energy simulation errorclash detection and many others BIM platforms are used to
help develop BIMs providing an UI for designing building products Finally BIM environments combine
functionality from the two above providing integration between BIM tools and platforms inside an orga-
nization BIM environments are useful for automating the generation of BIM reports and data sets from
the building mode [11 70 71]
1httpwwwnibsorg
6
212 BIM Schemas
While the BIM model describes information regarding an instance of a building a BIM schema pro-
vides a structure to enable the representation of constructs defining how each element of the building
is described through elements properties and relationships In practice a BIM model is an instance of
a building that can be stored in a common format based on the structure described in the schema
BIM schemas can be internal or external On one hand an internal BIM schema represents the way
BIM tools model the information of the building their modelling constructs and knowledge On the other
hand an external BIM schema represents a common model independent from the applications used
to enable interoperability among them Furthermore an internal schema describes concepts regarding
a tool or project phase while an external schema is used for exchange among the several phases of the
project [14]
213 Model View Definitions
In order to adapt to the complexity that comes from the fact that BIM models contain information about
several aspects regarding the building from design to operation Model View Definitions (MVDs) define
subset models regarding fewer aspects of the building These views define a simpler and more specific
set of data for use in a given scenario when needed by the different stakeholders [15] BIM exchange
formats such as IFC are provided with a set of these MVD which define simpler models used in specific
applications or by specific stakeholders For each exchange scenario MVDs help define what is and
what is not in the scope of each exchange scenario Some formatsmdashCOBie for examplemdashare intended
to resolve the problem of handover by representing information typically required to be delivered from
one stage to another like from construction to operation [11 pp 120-122]
214 Exchange Formats
One of the most important properties of BIM tools and platforms is their interoperability and to
achieve that the information must flow from one to another in an independent format that is understood
by different applications In order to achieve this requirement exchange formats are developedThe first
information exchange formats Drawing eXchange Format (DXF) and Initial Graphic Exchange Spec-
ification (IGES) appeared in the 1980s and had only geometric data on building With the efforts on
developing BIM these evolved into formats like IFC which contain information about building design
planning or construction management or CIMsteel Integration Standard 2 (CIS2) for representing fab-
rication and structural engineering of steel Modelling languages like EXPRESS or EXtensible Markup
Language (XML) are used in these exchange formats so that information can be passed through a file
base exchange [11 pp 99-104]
7
Figure 21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of the IFC struc-ture Each schema relates to a different concern
215 Industry Foundation Classes
IFC is an open exchange format for sharing building data across the several stakeholders of its project
and operation which was created by buildingSMART2 (former International Alliance for Interoperability)
and as of March 2013 it is a published international standard ISO 16739 It is designed to model all
the existing data throughout the buildingrsquos life cycle and is the actual standard format for openBIM3
a software tool kit for developing BIM extensions IFC makes the model extensible and interoperable
by enabling the modeller to create new definitions since it is based on a meta model that broads the
definition of Class [16] In 2010 the IFC Certification 20 procedure was developed by BuildingSmart
for the IFC 2x3 Coordination View Version (CV20) which is an MVD intended to promote consistent and
reliable implementations of the IFC specification by many software vendors across multiple platforms [7]
IFCs are modelled recurring to the EXPRESS language to describe the classes mentioned above
These classes are comprised by the specification of an object and its attributes Each objectrsquos semantic
is described by said attributes These objects are connected by relations There are three main types
of classes object relation and resource classes Object classes represent the several entities inside
a building which are identified by a global identifier and a ownership identifier Each object class has
attributes that describe its details and the context where it is being used (such as topology geometry
etc) Relation classes represent the way elements connect to other objects There are many kinds
of relation classes that implement diverse types of interaction such as aggregation containment or
control The applicability of each relation is limited in other words relations specify which objects can
be bound to them Resource classes represent the attributes used to describe entities [17]
IFC structuremdashthat can be found in buildingSMARTrsquos website4 is composed of data schemas each
one relating to a different concern As Figure 21 depicts the data schemas divide in four conceptual
layers[18] Starting from the bottom there is the Resource Layer which represents individual business
concerns such as costs geometry or material The schemas in this layer are used to define properties
of classes from the remaining layers Next there is the Core Layer which is divided in Kernel and Core
extension schemas include the most abstract entities that are specified by the ones from the following
layers (Domain and Interoperability) The entities from Core layer are identified by a global ID and an
2httpwwwbuildingsmartorg3httpwwwopenbimorg4httpwwwbuildingsmart-techorgifcIFC4finalhtmlindexhtm
8
optional Ownership ID and historical data Following the Core Layer there is the Interoperability Layer
and contains the models related to concepts that are used by two or more models from the Domain
Layer This layer has the purpose of enabling inter-domain exchange and information sharing between
the upper levelrsquos classes Finally the highest layer is the Domain Layer which includes the entities that
concern to specializations of products processes or resources from a specific discipline
In the context of this work it is very important to understand how the information concerning a
BIM model is represented in an IFC schema in order to structure that information and feed it to the
recommendation algorithm As represented in Figure 21 the information that is of most relevance to
this work belongs to the resource layer It is in this layer that we find the elements the recommendation
algorithm will need These elements can be for example a door a column the floor in which an object
is in or the relation between a window and a wall To illustrate this a practical example [19] of a how a
window can be placed inside a wall is illustrated
To insert a window or door in a wall it is required to create an opening For this the following entities
are relevant IfcWall IfcOpeningElement IfcWindow These entities need to be connected via relative
placement and via topological connection Each physical object has a placement The placement is rep-
resented by IfcLocalPlacement and can be relative to an IfcLocalPlacement of another physical object
(in case of aggregation feature or filling relation) or of an spatial structure element This process of local
placements is recursive IfcWall IfcOpeningElement and IfcWindow each have their own IfcLocalPlace-
ment however the IfcLocalPlacement of IfcWindow is defined relatively to the IfcLocalPlacement of
IfcOpeningElement and the IfcLocalPlacement of IfcOpeningElement is defined relatively to the IfcLo-
calPlacement of IfcWall The IfcWall and IfcOpeningElement are connected via the objectified relation
IfcRelVoidsElement The IfcRelVoidsElement is connected with the wall via the relationship Relating-
BuildingElement and to the opening element via the relationship RelatedOpeningElement Through
the inverse relationships it is possible to traverse from wall to opening element and vice versa The
IfcOpeningElement and IfcWindow are connected via the objectified relation IfcRelFillsElement The
IfcRelFillsElement is connected with the opening element via the relationship RelatingOpeningElement
and to the window via the relationship RelatedBuildingElement Through the inverse relationships it is
possible to traverse from opening element to window and vice versa The geometric representation of
this example is presented in Figure 23
From the example described above it is clear that when performing activity planning it is very impor-
tant to have two classes of the IFC model well defined the IfcElements and their relationships because
although in different projects a window is used itrsquos relationship to the other elements is crucial to decide
which activity to associate to the window
216 COBie
COBie can be defined as a MVD5 over BIM In other words it consists on a subset of information from
the building Its main use is as an data exchange format by construction teams to handover operational
and maintenance information collected during AEC phases to the facility owner as construction finishes5httpdocsbuildingsmartallianceorgMVD_COBIE
9
Figure 22 Geometric representation of wall opening and window A - 3D representation of the object B - List ofobject parameters
such as equipment lists preventive maintenance schedules or warranty information It can be viewed
in spreadsheets or imported by specific tools for visualization COBie was created to eliminate the
excess of paper usage arising from the information delivered to the building manager when the project
finishes Moreover information took too much time to be compiled since some documents had to be
recreated causing the information to be delivered much later than the expected Once the building
model is constantly updated as the project goes by there is no need to recreate information about what
happened in a given phase and therefore it reaches facility managers quicker with minimum delay [20]
22 Omniclass Classification System
The OmniClass Construction Classification System 6 commonly known as OmniClass or OCCS is
a classification system for the construction industry which is created by the North American AEC indus-
try It is useful for many applications in the area of BIM from organizing reports and object libraries to
providing a way to roll up or drill down through data to get the information that meets the needs of the
projectrsquos stakeholders In simple terms OmniClass is a standard for organizing all construction informa-
tion This information is structured in the form of tables OmniClass bases its tables in other systems that
are not in use any more Those systems are MasterFormat [21] UniFormat [22] and EPIC (Electronic
Product Information Cooperation) for work results elements and products respectively OmniClass fol-
lows the international framework set out in ISOTR 14177 This document was later established as a
standard in ISO 12006-2 Organization of Information about Construction Works - Part 2 Framework for
Classification of Information
221 OmniClass Tables
OmniClass is designed to provide a standardized basis for classifying information and is intended to
be the means for organizing sorting and retrieving information and deriving relational computer applica-6httpwwwomniclassorg
10
Omniclass Uniclass
Table 11 ndash Construction Entities by Function Table D ndash FacilitiesTable 12 ndash Construction Entities by Form Table E ndash Construction EntitiesTable 13 ndash Spaces by Function Table F ndash SpacesTable 14 ndash Spaces by Form Table F ndash Spaces
Table 21 ndash Elements Table G ndash Elements for BuildingsTable H ndash Elements for Civil Engineering Works
Table 22 ndash Work Results Table J ndash Work Sections for BuildingsTable K ndash Work Sections for Civil Engineering Works
Table 23 ndash Products Table L ndash Construction ProductsTable 31 ndash Phases Table C ndash Management (in part)Table 32 ndash Services OmniClass Table B ndash Subject DisciplinesTable 33 ndash Disciplines Table B ndash Subject DisciplinesTable 34 ndash Organizational Roles Table C ndash Management (in part)Table 35 ndash Tools Table M ndash Construction AidsTable 36 ndash Information Table A ndash Forms of InformationTable 41 ndash Materials Table P ndash MaterialsTable 49 ndash Properties Table N ndash Properties and Characteristics
Table 21 Mapping between the tables from OmniClass and Uniclass adapted from [4]
tions To fulfil this the system consists of 15 hierarchical tables each representing a different aspect of
construction information The tables can be used individually or combined when a more complex type of
information needs to be classified [4] Tables 11-12 are used to organize construction results Tables 23
33 34 and 35 and to a lesser extent 36 and 41 are used to organize construction resources And finally
tables 31 and 32 are used to classify construction processes including the phases of construction entity
life cycles The 15 tables of Omniclass also map to the suggested tables in Section 4 of ISO 12002-2
The most important characteristic of these tables is that they are designed to work together to provide
extremely granular or specific classification Depending on the complexity of the object being classified
and the level of detail desired an object can have occurrences in one two or more tables For example
when trying to describe the workcost relationship that states that if a wall is battered 30 of labour
cost is added and if the wall is curved an extra 30 is added there is a need to combine table 23 where
we can find the products and table 22 where the work results are stated and reflect the activities to be
performed on such products
222 Uniclass
The Unified Classification System for the Construction Industry is the United Kingdomrsquos equivalent
to Omniclass From an early point there has always been a collaboration between the developers of
both OmniClass and Uniclass in order to promote a harmonized international standard The mapping
between the tables from OmniClass to Uniclass is presented in Table 21
23 Ontologies
An ontology is a formal representation of an abstracted view of a domain that describes the objects
concepts and relationships between them that holds in that domain for a specific purpose [23] There
11
Figure 23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L - ConstructionProducts (B) where it is clear the tree structure of Omniclass tables
are different classifications of ontologies based on parameters such as level of granularity their use
and types of relationships [24ndash27] The process of ontology modelling consists of modelling the con-
cepts and relationships in a specific field into formal ontologies ie in an ontology language with formal
syntax [28] Ontology engineering is useful for enabling interoperability across heterogeneous systems
because it provides the necessary semantics for many fields of knowlegde and facilitates knowledge
reuse sharing and integration [29 30] In the context of this work ontologies help with IFCrsquos lack of
semantic clarity in mapping entities and relationships which can result in the potential for multiple data
structures to represent the same information [3] The goal of ontology development is to remove am-
biguities associated with different viewpoints and formalize IFC definitions for a robust model exchange
solution [31] Also ontologies are one of the key technologies to deal with the semantic interoperablity
caused by the need to share semantics of BIM among project participants who do not necessarily share
the same definition of terminologies [8] Ontologies specify the semantic of terminology systems in a
well defined and unambiguous manner [32] by formally and explicitly representing shared unterstanding
about domain concepts and the relationships between concepts
ifcOWL emerges as a solution to the problem presented above by being an ontology based on
the industry foundation classes This ontology was created semi automatically by BuildingSmart by
lifting an EXPRESS schema into an ontological level by transforming the language constructs from
the schema into a terminology box definition using Web Ontology Language [33] Using OWL (Web
Ontology Language) [34] the intended meanings of domain technologies and relations are specified
through various OWL constructs which have implemented OWL semantics and logical axioms in an
easy-to-use way [8] Another approach to solve IFCrsquos lack of semantic clarity are the OmniClass tables
described in which present a structured source for an ontology
12
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
212 BIM Schemas
While the BIM model describes information regarding an instance of a building a BIM schema pro-
vides a structure to enable the representation of constructs defining how each element of the building
is described through elements properties and relationships In practice a BIM model is an instance of
a building that can be stored in a common format based on the structure described in the schema
BIM schemas can be internal or external On one hand an internal BIM schema represents the way
BIM tools model the information of the building their modelling constructs and knowledge On the other
hand an external BIM schema represents a common model independent from the applications used
to enable interoperability among them Furthermore an internal schema describes concepts regarding
a tool or project phase while an external schema is used for exchange among the several phases of the
project [14]
213 Model View Definitions
In order to adapt to the complexity that comes from the fact that BIM models contain information about
several aspects regarding the building from design to operation Model View Definitions (MVDs) define
subset models regarding fewer aspects of the building These views define a simpler and more specific
set of data for use in a given scenario when needed by the different stakeholders [15] BIM exchange
formats such as IFC are provided with a set of these MVD which define simpler models used in specific
applications or by specific stakeholders For each exchange scenario MVDs help define what is and
what is not in the scope of each exchange scenario Some formatsmdashCOBie for examplemdashare intended
to resolve the problem of handover by representing information typically required to be delivered from
one stage to another like from construction to operation [11 pp 120-122]
214 Exchange Formats
One of the most important properties of BIM tools and platforms is their interoperability and to
achieve that the information must flow from one to another in an independent format that is understood
by different applications In order to achieve this requirement exchange formats are developedThe first
information exchange formats Drawing eXchange Format (DXF) and Initial Graphic Exchange Spec-
ification (IGES) appeared in the 1980s and had only geometric data on building With the efforts on
developing BIM these evolved into formats like IFC which contain information about building design
planning or construction management or CIMsteel Integration Standard 2 (CIS2) for representing fab-
rication and structural engineering of steel Modelling languages like EXPRESS or EXtensible Markup
Language (XML) are used in these exchange formats so that information can be passed through a file
base exchange [11 pp 99-104]
7
Figure 21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of the IFC struc-ture Each schema relates to a different concern
215 Industry Foundation Classes
IFC is an open exchange format for sharing building data across the several stakeholders of its project
and operation which was created by buildingSMART2 (former International Alliance for Interoperability)
and as of March 2013 it is a published international standard ISO 16739 It is designed to model all
the existing data throughout the buildingrsquos life cycle and is the actual standard format for openBIM3
a software tool kit for developing BIM extensions IFC makes the model extensible and interoperable
by enabling the modeller to create new definitions since it is based on a meta model that broads the
definition of Class [16] In 2010 the IFC Certification 20 procedure was developed by BuildingSmart
for the IFC 2x3 Coordination View Version (CV20) which is an MVD intended to promote consistent and
reliable implementations of the IFC specification by many software vendors across multiple platforms [7]
IFCs are modelled recurring to the EXPRESS language to describe the classes mentioned above
These classes are comprised by the specification of an object and its attributes Each objectrsquos semantic
is described by said attributes These objects are connected by relations There are three main types
of classes object relation and resource classes Object classes represent the several entities inside
a building which are identified by a global identifier and a ownership identifier Each object class has
attributes that describe its details and the context where it is being used (such as topology geometry
etc) Relation classes represent the way elements connect to other objects There are many kinds
of relation classes that implement diverse types of interaction such as aggregation containment or
control The applicability of each relation is limited in other words relations specify which objects can
be bound to them Resource classes represent the attributes used to describe entities [17]
IFC structuremdashthat can be found in buildingSMARTrsquos website4 is composed of data schemas each
one relating to a different concern As Figure 21 depicts the data schemas divide in four conceptual
layers[18] Starting from the bottom there is the Resource Layer which represents individual business
concerns such as costs geometry or material The schemas in this layer are used to define properties
of classes from the remaining layers Next there is the Core Layer which is divided in Kernel and Core
extension schemas include the most abstract entities that are specified by the ones from the following
layers (Domain and Interoperability) The entities from Core layer are identified by a global ID and an
2httpwwwbuildingsmartorg3httpwwwopenbimorg4httpwwwbuildingsmart-techorgifcIFC4finalhtmlindexhtm
8
optional Ownership ID and historical data Following the Core Layer there is the Interoperability Layer
and contains the models related to concepts that are used by two or more models from the Domain
Layer This layer has the purpose of enabling inter-domain exchange and information sharing between
the upper levelrsquos classes Finally the highest layer is the Domain Layer which includes the entities that
concern to specializations of products processes or resources from a specific discipline
In the context of this work it is very important to understand how the information concerning a
BIM model is represented in an IFC schema in order to structure that information and feed it to the
recommendation algorithm As represented in Figure 21 the information that is of most relevance to
this work belongs to the resource layer It is in this layer that we find the elements the recommendation
algorithm will need These elements can be for example a door a column the floor in which an object
is in or the relation between a window and a wall To illustrate this a practical example [19] of a how a
window can be placed inside a wall is illustrated
To insert a window or door in a wall it is required to create an opening For this the following entities
are relevant IfcWall IfcOpeningElement IfcWindow These entities need to be connected via relative
placement and via topological connection Each physical object has a placement The placement is rep-
resented by IfcLocalPlacement and can be relative to an IfcLocalPlacement of another physical object
(in case of aggregation feature or filling relation) or of an spatial structure element This process of local
placements is recursive IfcWall IfcOpeningElement and IfcWindow each have their own IfcLocalPlace-
ment however the IfcLocalPlacement of IfcWindow is defined relatively to the IfcLocalPlacement of
IfcOpeningElement and the IfcLocalPlacement of IfcOpeningElement is defined relatively to the IfcLo-
calPlacement of IfcWall The IfcWall and IfcOpeningElement are connected via the objectified relation
IfcRelVoidsElement The IfcRelVoidsElement is connected with the wall via the relationship Relating-
BuildingElement and to the opening element via the relationship RelatedOpeningElement Through
the inverse relationships it is possible to traverse from wall to opening element and vice versa The
IfcOpeningElement and IfcWindow are connected via the objectified relation IfcRelFillsElement The
IfcRelFillsElement is connected with the opening element via the relationship RelatingOpeningElement
and to the window via the relationship RelatedBuildingElement Through the inverse relationships it is
possible to traverse from opening element to window and vice versa The geometric representation of
this example is presented in Figure 23
From the example described above it is clear that when performing activity planning it is very impor-
tant to have two classes of the IFC model well defined the IfcElements and their relationships because
although in different projects a window is used itrsquos relationship to the other elements is crucial to decide
which activity to associate to the window
216 COBie
COBie can be defined as a MVD5 over BIM In other words it consists on a subset of information from
the building Its main use is as an data exchange format by construction teams to handover operational
and maintenance information collected during AEC phases to the facility owner as construction finishes5httpdocsbuildingsmartallianceorgMVD_COBIE
9
Figure 22 Geometric representation of wall opening and window A - 3D representation of the object B - List ofobject parameters
such as equipment lists preventive maintenance schedules or warranty information It can be viewed
in spreadsheets or imported by specific tools for visualization COBie was created to eliminate the
excess of paper usage arising from the information delivered to the building manager when the project
finishes Moreover information took too much time to be compiled since some documents had to be
recreated causing the information to be delivered much later than the expected Once the building
model is constantly updated as the project goes by there is no need to recreate information about what
happened in a given phase and therefore it reaches facility managers quicker with minimum delay [20]
22 Omniclass Classification System
The OmniClass Construction Classification System 6 commonly known as OmniClass or OCCS is
a classification system for the construction industry which is created by the North American AEC indus-
try It is useful for many applications in the area of BIM from organizing reports and object libraries to
providing a way to roll up or drill down through data to get the information that meets the needs of the
projectrsquos stakeholders In simple terms OmniClass is a standard for organizing all construction informa-
tion This information is structured in the form of tables OmniClass bases its tables in other systems that
are not in use any more Those systems are MasterFormat [21] UniFormat [22] and EPIC (Electronic
Product Information Cooperation) for work results elements and products respectively OmniClass fol-
lows the international framework set out in ISOTR 14177 This document was later established as a
standard in ISO 12006-2 Organization of Information about Construction Works - Part 2 Framework for
Classification of Information
221 OmniClass Tables
OmniClass is designed to provide a standardized basis for classifying information and is intended to
be the means for organizing sorting and retrieving information and deriving relational computer applica-6httpwwwomniclassorg
10
Omniclass Uniclass
Table 11 ndash Construction Entities by Function Table D ndash FacilitiesTable 12 ndash Construction Entities by Form Table E ndash Construction EntitiesTable 13 ndash Spaces by Function Table F ndash SpacesTable 14 ndash Spaces by Form Table F ndash Spaces
Table 21 ndash Elements Table G ndash Elements for BuildingsTable H ndash Elements for Civil Engineering Works
Table 22 ndash Work Results Table J ndash Work Sections for BuildingsTable K ndash Work Sections for Civil Engineering Works
Table 23 ndash Products Table L ndash Construction ProductsTable 31 ndash Phases Table C ndash Management (in part)Table 32 ndash Services OmniClass Table B ndash Subject DisciplinesTable 33 ndash Disciplines Table B ndash Subject DisciplinesTable 34 ndash Organizational Roles Table C ndash Management (in part)Table 35 ndash Tools Table M ndash Construction AidsTable 36 ndash Information Table A ndash Forms of InformationTable 41 ndash Materials Table P ndash MaterialsTable 49 ndash Properties Table N ndash Properties and Characteristics
Table 21 Mapping between the tables from OmniClass and Uniclass adapted from [4]
tions To fulfil this the system consists of 15 hierarchical tables each representing a different aspect of
construction information The tables can be used individually or combined when a more complex type of
information needs to be classified [4] Tables 11-12 are used to organize construction results Tables 23
33 34 and 35 and to a lesser extent 36 and 41 are used to organize construction resources And finally
tables 31 and 32 are used to classify construction processes including the phases of construction entity
life cycles The 15 tables of Omniclass also map to the suggested tables in Section 4 of ISO 12002-2
The most important characteristic of these tables is that they are designed to work together to provide
extremely granular or specific classification Depending on the complexity of the object being classified
and the level of detail desired an object can have occurrences in one two or more tables For example
when trying to describe the workcost relationship that states that if a wall is battered 30 of labour
cost is added and if the wall is curved an extra 30 is added there is a need to combine table 23 where
we can find the products and table 22 where the work results are stated and reflect the activities to be
performed on such products
222 Uniclass
The Unified Classification System for the Construction Industry is the United Kingdomrsquos equivalent
to Omniclass From an early point there has always been a collaboration between the developers of
both OmniClass and Uniclass in order to promote a harmonized international standard The mapping
between the tables from OmniClass to Uniclass is presented in Table 21
23 Ontologies
An ontology is a formal representation of an abstracted view of a domain that describes the objects
concepts and relationships between them that holds in that domain for a specific purpose [23] There
11
Figure 23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L - ConstructionProducts (B) where it is clear the tree structure of Omniclass tables
are different classifications of ontologies based on parameters such as level of granularity their use
and types of relationships [24ndash27] The process of ontology modelling consists of modelling the con-
cepts and relationships in a specific field into formal ontologies ie in an ontology language with formal
syntax [28] Ontology engineering is useful for enabling interoperability across heterogeneous systems
because it provides the necessary semantics for many fields of knowlegde and facilitates knowledge
reuse sharing and integration [29 30] In the context of this work ontologies help with IFCrsquos lack of
semantic clarity in mapping entities and relationships which can result in the potential for multiple data
structures to represent the same information [3] The goal of ontology development is to remove am-
biguities associated with different viewpoints and formalize IFC definitions for a robust model exchange
solution [31] Also ontologies are one of the key technologies to deal with the semantic interoperablity
caused by the need to share semantics of BIM among project participants who do not necessarily share
the same definition of terminologies [8] Ontologies specify the semantic of terminology systems in a
well defined and unambiguous manner [32] by formally and explicitly representing shared unterstanding
about domain concepts and the relationships between concepts
ifcOWL emerges as a solution to the problem presented above by being an ontology based on
the industry foundation classes This ontology was created semi automatically by BuildingSmart by
lifting an EXPRESS schema into an ontological level by transforming the language constructs from
the schema into a terminology box definition using Web Ontology Language [33] Using OWL (Web
Ontology Language) [34] the intended meanings of domain technologies and relations are specified
through various OWL constructs which have implemented OWL semantics and logical axioms in an
easy-to-use way [8] Another approach to solve IFCrsquos lack of semantic clarity are the OmniClass tables
described in which present a structured source for an ontology
12
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Figure 21 IFC schema layered hierarchy showing the four conceptual layers the data schemas of the IFC struc-ture Each schema relates to a different concern
215 Industry Foundation Classes
IFC is an open exchange format for sharing building data across the several stakeholders of its project
and operation which was created by buildingSMART2 (former International Alliance for Interoperability)
and as of March 2013 it is a published international standard ISO 16739 It is designed to model all
the existing data throughout the buildingrsquos life cycle and is the actual standard format for openBIM3
a software tool kit for developing BIM extensions IFC makes the model extensible and interoperable
by enabling the modeller to create new definitions since it is based on a meta model that broads the
definition of Class [16] In 2010 the IFC Certification 20 procedure was developed by BuildingSmart
for the IFC 2x3 Coordination View Version (CV20) which is an MVD intended to promote consistent and
reliable implementations of the IFC specification by many software vendors across multiple platforms [7]
IFCs are modelled recurring to the EXPRESS language to describe the classes mentioned above
These classes are comprised by the specification of an object and its attributes Each objectrsquos semantic
is described by said attributes These objects are connected by relations There are three main types
of classes object relation and resource classes Object classes represent the several entities inside
a building which are identified by a global identifier and a ownership identifier Each object class has
attributes that describe its details and the context where it is being used (such as topology geometry
etc) Relation classes represent the way elements connect to other objects There are many kinds
of relation classes that implement diverse types of interaction such as aggregation containment or
control The applicability of each relation is limited in other words relations specify which objects can
be bound to them Resource classes represent the attributes used to describe entities [17]
IFC structuremdashthat can be found in buildingSMARTrsquos website4 is composed of data schemas each
one relating to a different concern As Figure 21 depicts the data schemas divide in four conceptual
layers[18] Starting from the bottom there is the Resource Layer which represents individual business
concerns such as costs geometry or material The schemas in this layer are used to define properties
of classes from the remaining layers Next there is the Core Layer which is divided in Kernel and Core
extension schemas include the most abstract entities that are specified by the ones from the following
layers (Domain and Interoperability) The entities from Core layer are identified by a global ID and an
2httpwwwbuildingsmartorg3httpwwwopenbimorg4httpwwwbuildingsmart-techorgifcIFC4finalhtmlindexhtm
8
optional Ownership ID and historical data Following the Core Layer there is the Interoperability Layer
and contains the models related to concepts that are used by two or more models from the Domain
Layer This layer has the purpose of enabling inter-domain exchange and information sharing between
the upper levelrsquos classes Finally the highest layer is the Domain Layer which includes the entities that
concern to specializations of products processes or resources from a specific discipline
In the context of this work it is very important to understand how the information concerning a
BIM model is represented in an IFC schema in order to structure that information and feed it to the
recommendation algorithm As represented in Figure 21 the information that is of most relevance to
this work belongs to the resource layer It is in this layer that we find the elements the recommendation
algorithm will need These elements can be for example a door a column the floor in which an object
is in or the relation between a window and a wall To illustrate this a practical example [19] of a how a
window can be placed inside a wall is illustrated
To insert a window or door in a wall it is required to create an opening For this the following entities
are relevant IfcWall IfcOpeningElement IfcWindow These entities need to be connected via relative
placement and via topological connection Each physical object has a placement The placement is rep-
resented by IfcLocalPlacement and can be relative to an IfcLocalPlacement of another physical object
(in case of aggregation feature or filling relation) or of an spatial structure element This process of local
placements is recursive IfcWall IfcOpeningElement and IfcWindow each have their own IfcLocalPlace-
ment however the IfcLocalPlacement of IfcWindow is defined relatively to the IfcLocalPlacement of
IfcOpeningElement and the IfcLocalPlacement of IfcOpeningElement is defined relatively to the IfcLo-
calPlacement of IfcWall The IfcWall and IfcOpeningElement are connected via the objectified relation
IfcRelVoidsElement The IfcRelVoidsElement is connected with the wall via the relationship Relating-
BuildingElement and to the opening element via the relationship RelatedOpeningElement Through
the inverse relationships it is possible to traverse from wall to opening element and vice versa The
IfcOpeningElement and IfcWindow are connected via the objectified relation IfcRelFillsElement The
IfcRelFillsElement is connected with the opening element via the relationship RelatingOpeningElement
and to the window via the relationship RelatedBuildingElement Through the inverse relationships it is
possible to traverse from opening element to window and vice versa The geometric representation of
this example is presented in Figure 23
From the example described above it is clear that when performing activity planning it is very impor-
tant to have two classes of the IFC model well defined the IfcElements and their relationships because
although in different projects a window is used itrsquos relationship to the other elements is crucial to decide
which activity to associate to the window
216 COBie
COBie can be defined as a MVD5 over BIM In other words it consists on a subset of information from
the building Its main use is as an data exchange format by construction teams to handover operational
and maintenance information collected during AEC phases to the facility owner as construction finishes5httpdocsbuildingsmartallianceorgMVD_COBIE
9
Figure 22 Geometric representation of wall opening and window A - 3D representation of the object B - List ofobject parameters
such as equipment lists preventive maintenance schedules or warranty information It can be viewed
in spreadsheets or imported by specific tools for visualization COBie was created to eliminate the
excess of paper usage arising from the information delivered to the building manager when the project
finishes Moreover information took too much time to be compiled since some documents had to be
recreated causing the information to be delivered much later than the expected Once the building
model is constantly updated as the project goes by there is no need to recreate information about what
happened in a given phase and therefore it reaches facility managers quicker with minimum delay [20]
22 Omniclass Classification System
The OmniClass Construction Classification System 6 commonly known as OmniClass or OCCS is
a classification system for the construction industry which is created by the North American AEC indus-
try It is useful for many applications in the area of BIM from organizing reports and object libraries to
providing a way to roll up or drill down through data to get the information that meets the needs of the
projectrsquos stakeholders In simple terms OmniClass is a standard for organizing all construction informa-
tion This information is structured in the form of tables OmniClass bases its tables in other systems that
are not in use any more Those systems are MasterFormat [21] UniFormat [22] and EPIC (Electronic
Product Information Cooperation) for work results elements and products respectively OmniClass fol-
lows the international framework set out in ISOTR 14177 This document was later established as a
standard in ISO 12006-2 Organization of Information about Construction Works - Part 2 Framework for
Classification of Information
221 OmniClass Tables
OmniClass is designed to provide a standardized basis for classifying information and is intended to
be the means for organizing sorting and retrieving information and deriving relational computer applica-6httpwwwomniclassorg
10
Omniclass Uniclass
Table 11 ndash Construction Entities by Function Table D ndash FacilitiesTable 12 ndash Construction Entities by Form Table E ndash Construction EntitiesTable 13 ndash Spaces by Function Table F ndash SpacesTable 14 ndash Spaces by Form Table F ndash Spaces
Table 21 ndash Elements Table G ndash Elements for BuildingsTable H ndash Elements for Civil Engineering Works
Table 22 ndash Work Results Table J ndash Work Sections for BuildingsTable K ndash Work Sections for Civil Engineering Works
Table 23 ndash Products Table L ndash Construction ProductsTable 31 ndash Phases Table C ndash Management (in part)Table 32 ndash Services OmniClass Table B ndash Subject DisciplinesTable 33 ndash Disciplines Table B ndash Subject DisciplinesTable 34 ndash Organizational Roles Table C ndash Management (in part)Table 35 ndash Tools Table M ndash Construction AidsTable 36 ndash Information Table A ndash Forms of InformationTable 41 ndash Materials Table P ndash MaterialsTable 49 ndash Properties Table N ndash Properties and Characteristics
Table 21 Mapping between the tables from OmniClass and Uniclass adapted from [4]
tions To fulfil this the system consists of 15 hierarchical tables each representing a different aspect of
construction information The tables can be used individually or combined when a more complex type of
information needs to be classified [4] Tables 11-12 are used to organize construction results Tables 23
33 34 and 35 and to a lesser extent 36 and 41 are used to organize construction resources And finally
tables 31 and 32 are used to classify construction processes including the phases of construction entity
life cycles The 15 tables of Omniclass also map to the suggested tables in Section 4 of ISO 12002-2
The most important characteristic of these tables is that they are designed to work together to provide
extremely granular or specific classification Depending on the complexity of the object being classified
and the level of detail desired an object can have occurrences in one two or more tables For example
when trying to describe the workcost relationship that states that if a wall is battered 30 of labour
cost is added and if the wall is curved an extra 30 is added there is a need to combine table 23 where
we can find the products and table 22 where the work results are stated and reflect the activities to be
performed on such products
222 Uniclass
The Unified Classification System for the Construction Industry is the United Kingdomrsquos equivalent
to Omniclass From an early point there has always been a collaboration between the developers of
both OmniClass and Uniclass in order to promote a harmonized international standard The mapping
between the tables from OmniClass to Uniclass is presented in Table 21
23 Ontologies
An ontology is a formal representation of an abstracted view of a domain that describes the objects
concepts and relationships between them that holds in that domain for a specific purpose [23] There
11
Figure 23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L - ConstructionProducts (B) where it is clear the tree structure of Omniclass tables
are different classifications of ontologies based on parameters such as level of granularity their use
and types of relationships [24ndash27] The process of ontology modelling consists of modelling the con-
cepts and relationships in a specific field into formal ontologies ie in an ontology language with formal
syntax [28] Ontology engineering is useful for enabling interoperability across heterogeneous systems
because it provides the necessary semantics for many fields of knowlegde and facilitates knowledge
reuse sharing and integration [29 30] In the context of this work ontologies help with IFCrsquos lack of
semantic clarity in mapping entities and relationships which can result in the potential for multiple data
structures to represent the same information [3] The goal of ontology development is to remove am-
biguities associated with different viewpoints and formalize IFC definitions for a robust model exchange
solution [31] Also ontologies are one of the key technologies to deal with the semantic interoperablity
caused by the need to share semantics of BIM among project participants who do not necessarily share
the same definition of terminologies [8] Ontologies specify the semantic of terminology systems in a
well defined and unambiguous manner [32] by formally and explicitly representing shared unterstanding
about domain concepts and the relationships between concepts
ifcOWL emerges as a solution to the problem presented above by being an ontology based on
the industry foundation classes This ontology was created semi automatically by BuildingSmart by
lifting an EXPRESS schema into an ontological level by transforming the language constructs from
the schema into a terminology box definition using Web Ontology Language [33] Using OWL (Web
Ontology Language) [34] the intended meanings of domain technologies and relations are specified
through various OWL constructs which have implemented OWL semantics and logical axioms in an
easy-to-use way [8] Another approach to solve IFCrsquos lack of semantic clarity are the OmniClass tables
described in which present a structured source for an ontology
12
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
optional Ownership ID and historical data Following the Core Layer there is the Interoperability Layer
and contains the models related to concepts that are used by two or more models from the Domain
Layer This layer has the purpose of enabling inter-domain exchange and information sharing between
the upper levelrsquos classes Finally the highest layer is the Domain Layer which includes the entities that
concern to specializations of products processes or resources from a specific discipline
In the context of this work it is very important to understand how the information concerning a
BIM model is represented in an IFC schema in order to structure that information and feed it to the
recommendation algorithm As represented in Figure 21 the information that is of most relevance to
this work belongs to the resource layer It is in this layer that we find the elements the recommendation
algorithm will need These elements can be for example a door a column the floor in which an object
is in or the relation between a window and a wall To illustrate this a practical example [19] of a how a
window can be placed inside a wall is illustrated
To insert a window or door in a wall it is required to create an opening For this the following entities
are relevant IfcWall IfcOpeningElement IfcWindow These entities need to be connected via relative
placement and via topological connection Each physical object has a placement The placement is rep-
resented by IfcLocalPlacement and can be relative to an IfcLocalPlacement of another physical object
(in case of aggregation feature or filling relation) or of an spatial structure element This process of local
placements is recursive IfcWall IfcOpeningElement and IfcWindow each have their own IfcLocalPlace-
ment however the IfcLocalPlacement of IfcWindow is defined relatively to the IfcLocalPlacement of
IfcOpeningElement and the IfcLocalPlacement of IfcOpeningElement is defined relatively to the IfcLo-
calPlacement of IfcWall The IfcWall and IfcOpeningElement are connected via the objectified relation
IfcRelVoidsElement The IfcRelVoidsElement is connected with the wall via the relationship Relating-
BuildingElement and to the opening element via the relationship RelatedOpeningElement Through
the inverse relationships it is possible to traverse from wall to opening element and vice versa The
IfcOpeningElement and IfcWindow are connected via the objectified relation IfcRelFillsElement The
IfcRelFillsElement is connected with the opening element via the relationship RelatingOpeningElement
and to the window via the relationship RelatedBuildingElement Through the inverse relationships it is
possible to traverse from opening element to window and vice versa The geometric representation of
this example is presented in Figure 23
From the example described above it is clear that when performing activity planning it is very impor-
tant to have two classes of the IFC model well defined the IfcElements and their relationships because
although in different projects a window is used itrsquos relationship to the other elements is crucial to decide
which activity to associate to the window
216 COBie
COBie can be defined as a MVD5 over BIM In other words it consists on a subset of information from
the building Its main use is as an data exchange format by construction teams to handover operational
and maintenance information collected during AEC phases to the facility owner as construction finishes5httpdocsbuildingsmartallianceorgMVD_COBIE
9
Figure 22 Geometric representation of wall opening and window A - 3D representation of the object B - List ofobject parameters
such as equipment lists preventive maintenance schedules or warranty information It can be viewed
in spreadsheets or imported by specific tools for visualization COBie was created to eliminate the
excess of paper usage arising from the information delivered to the building manager when the project
finishes Moreover information took too much time to be compiled since some documents had to be
recreated causing the information to be delivered much later than the expected Once the building
model is constantly updated as the project goes by there is no need to recreate information about what
happened in a given phase and therefore it reaches facility managers quicker with minimum delay [20]
22 Omniclass Classification System
The OmniClass Construction Classification System 6 commonly known as OmniClass or OCCS is
a classification system for the construction industry which is created by the North American AEC indus-
try It is useful for many applications in the area of BIM from organizing reports and object libraries to
providing a way to roll up or drill down through data to get the information that meets the needs of the
projectrsquos stakeholders In simple terms OmniClass is a standard for organizing all construction informa-
tion This information is structured in the form of tables OmniClass bases its tables in other systems that
are not in use any more Those systems are MasterFormat [21] UniFormat [22] and EPIC (Electronic
Product Information Cooperation) for work results elements and products respectively OmniClass fol-
lows the international framework set out in ISOTR 14177 This document was later established as a
standard in ISO 12006-2 Organization of Information about Construction Works - Part 2 Framework for
Classification of Information
221 OmniClass Tables
OmniClass is designed to provide a standardized basis for classifying information and is intended to
be the means for organizing sorting and retrieving information and deriving relational computer applica-6httpwwwomniclassorg
10
Omniclass Uniclass
Table 11 ndash Construction Entities by Function Table D ndash FacilitiesTable 12 ndash Construction Entities by Form Table E ndash Construction EntitiesTable 13 ndash Spaces by Function Table F ndash SpacesTable 14 ndash Spaces by Form Table F ndash Spaces
Table 21 ndash Elements Table G ndash Elements for BuildingsTable H ndash Elements for Civil Engineering Works
Table 22 ndash Work Results Table J ndash Work Sections for BuildingsTable K ndash Work Sections for Civil Engineering Works
Table 23 ndash Products Table L ndash Construction ProductsTable 31 ndash Phases Table C ndash Management (in part)Table 32 ndash Services OmniClass Table B ndash Subject DisciplinesTable 33 ndash Disciplines Table B ndash Subject DisciplinesTable 34 ndash Organizational Roles Table C ndash Management (in part)Table 35 ndash Tools Table M ndash Construction AidsTable 36 ndash Information Table A ndash Forms of InformationTable 41 ndash Materials Table P ndash MaterialsTable 49 ndash Properties Table N ndash Properties and Characteristics
Table 21 Mapping between the tables from OmniClass and Uniclass adapted from [4]
tions To fulfil this the system consists of 15 hierarchical tables each representing a different aspect of
construction information The tables can be used individually or combined when a more complex type of
information needs to be classified [4] Tables 11-12 are used to organize construction results Tables 23
33 34 and 35 and to a lesser extent 36 and 41 are used to organize construction resources And finally
tables 31 and 32 are used to classify construction processes including the phases of construction entity
life cycles The 15 tables of Omniclass also map to the suggested tables in Section 4 of ISO 12002-2
The most important characteristic of these tables is that they are designed to work together to provide
extremely granular or specific classification Depending on the complexity of the object being classified
and the level of detail desired an object can have occurrences in one two or more tables For example
when trying to describe the workcost relationship that states that if a wall is battered 30 of labour
cost is added and if the wall is curved an extra 30 is added there is a need to combine table 23 where
we can find the products and table 22 where the work results are stated and reflect the activities to be
performed on such products
222 Uniclass
The Unified Classification System for the Construction Industry is the United Kingdomrsquos equivalent
to Omniclass From an early point there has always been a collaboration between the developers of
both OmniClass and Uniclass in order to promote a harmonized international standard The mapping
between the tables from OmniClass to Uniclass is presented in Table 21
23 Ontologies
An ontology is a formal representation of an abstracted view of a domain that describes the objects
concepts and relationships between them that holds in that domain for a specific purpose [23] There
11
Figure 23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L - ConstructionProducts (B) where it is clear the tree structure of Omniclass tables
are different classifications of ontologies based on parameters such as level of granularity their use
and types of relationships [24ndash27] The process of ontology modelling consists of modelling the con-
cepts and relationships in a specific field into formal ontologies ie in an ontology language with formal
syntax [28] Ontology engineering is useful for enabling interoperability across heterogeneous systems
because it provides the necessary semantics for many fields of knowlegde and facilitates knowledge
reuse sharing and integration [29 30] In the context of this work ontologies help with IFCrsquos lack of
semantic clarity in mapping entities and relationships which can result in the potential for multiple data
structures to represent the same information [3] The goal of ontology development is to remove am-
biguities associated with different viewpoints and formalize IFC definitions for a robust model exchange
solution [31] Also ontologies are one of the key technologies to deal with the semantic interoperablity
caused by the need to share semantics of BIM among project participants who do not necessarily share
the same definition of terminologies [8] Ontologies specify the semantic of terminology systems in a
well defined and unambiguous manner [32] by formally and explicitly representing shared unterstanding
about domain concepts and the relationships between concepts
ifcOWL emerges as a solution to the problem presented above by being an ontology based on
the industry foundation classes This ontology was created semi automatically by BuildingSmart by
lifting an EXPRESS schema into an ontological level by transforming the language constructs from
the schema into a terminology box definition using Web Ontology Language [33] Using OWL (Web
Ontology Language) [34] the intended meanings of domain technologies and relations are specified
through various OWL constructs which have implemented OWL semantics and logical axioms in an
easy-to-use way [8] Another approach to solve IFCrsquos lack of semantic clarity are the OmniClass tables
described in which present a structured source for an ontology
12
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Figure 22 Geometric representation of wall opening and window A - 3D representation of the object B - List ofobject parameters
such as equipment lists preventive maintenance schedules or warranty information It can be viewed
in spreadsheets or imported by specific tools for visualization COBie was created to eliminate the
excess of paper usage arising from the information delivered to the building manager when the project
finishes Moreover information took too much time to be compiled since some documents had to be
recreated causing the information to be delivered much later than the expected Once the building
model is constantly updated as the project goes by there is no need to recreate information about what
happened in a given phase and therefore it reaches facility managers quicker with minimum delay [20]
22 Omniclass Classification System
The OmniClass Construction Classification System 6 commonly known as OmniClass or OCCS is
a classification system for the construction industry which is created by the North American AEC indus-
try It is useful for many applications in the area of BIM from organizing reports and object libraries to
providing a way to roll up or drill down through data to get the information that meets the needs of the
projectrsquos stakeholders In simple terms OmniClass is a standard for organizing all construction informa-
tion This information is structured in the form of tables OmniClass bases its tables in other systems that
are not in use any more Those systems are MasterFormat [21] UniFormat [22] and EPIC (Electronic
Product Information Cooperation) for work results elements and products respectively OmniClass fol-
lows the international framework set out in ISOTR 14177 This document was later established as a
standard in ISO 12006-2 Organization of Information about Construction Works - Part 2 Framework for
Classification of Information
221 OmniClass Tables
OmniClass is designed to provide a standardized basis for classifying information and is intended to
be the means for organizing sorting and retrieving information and deriving relational computer applica-6httpwwwomniclassorg
10
Omniclass Uniclass
Table 11 ndash Construction Entities by Function Table D ndash FacilitiesTable 12 ndash Construction Entities by Form Table E ndash Construction EntitiesTable 13 ndash Spaces by Function Table F ndash SpacesTable 14 ndash Spaces by Form Table F ndash Spaces
Table 21 ndash Elements Table G ndash Elements for BuildingsTable H ndash Elements for Civil Engineering Works
Table 22 ndash Work Results Table J ndash Work Sections for BuildingsTable K ndash Work Sections for Civil Engineering Works
Table 23 ndash Products Table L ndash Construction ProductsTable 31 ndash Phases Table C ndash Management (in part)Table 32 ndash Services OmniClass Table B ndash Subject DisciplinesTable 33 ndash Disciplines Table B ndash Subject DisciplinesTable 34 ndash Organizational Roles Table C ndash Management (in part)Table 35 ndash Tools Table M ndash Construction AidsTable 36 ndash Information Table A ndash Forms of InformationTable 41 ndash Materials Table P ndash MaterialsTable 49 ndash Properties Table N ndash Properties and Characteristics
Table 21 Mapping between the tables from OmniClass and Uniclass adapted from [4]
tions To fulfil this the system consists of 15 hierarchical tables each representing a different aspect of
construction information The tables can be used individually or combined when a more complex type of
information needs to be classified [4] Tables 11-12 are used to organize construction results Tables 23
33 34 and 35 and to a lesser extent 36 and 41 are used to organize construction resources And finally
tables 31 and 32 are used to classify construction processes including the phases of construction entity
life cycles The 15 tables of Omniclass also map to the suggested tables in Section 4 of ISO 12002-2
The most important characteristic of these tables is that they are designed to work together to provide
extremely granular or specific classification Depending on the complexity of the object being classified
and the level of detail desired an object can have occurrences in one two or more tables For example
when trying to describe the workcost relationship that states that if a wall is battered 30 of labour
cost is added and if the wall is curved an extra 30 is added there is a need to combine table 23 where
we can find the products and table 22 where the work results are stated and reflect the activities to be
performed on such products
222 Uniclass
The Unified Classification System for the Construction Industry is the United Kingdomrsquos equivalent
to Omniclass From an early point there has always been a collaboration between the developers of
both OmniClass and Uniclass in order to promote a harmonized international standard The mapping
between the tables from OmniClass to Uniclass is presented in Table 21
23 Ontologies
An ontology is a formal representation of an abstracted view of a domain that describes the objects
concepts and relationships between them that holds in that domain for a specific purpose [23] There
11
Figure 23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L - ConstructionProducts (B) where it is clear the tree structure of Omniclass tables
are different classifications of ontologies based on parameters such as level of granularity their use
and types of relationships [24ndash27] The process of ontology modelling consists of modelling the con-
cepts and relationships in a specific field into formal ontologies ie in an ontology language with formal
syntax [28] Ontology engineering is useful for enabling interoperability across heterogeneous systems
because it provides the necessary semantics for many fields of knowlegde and facilitates knowledge
reuse sharing and integration [29 30] In the context of this work ontologies help with IFCrsquos lack of
semantic clarity in mapping entities and relationships which can result in the potential for multiple data
structures to represent the same information [3] The goal of ontology development is to remove am-
biguities associated with different viewpoints and formalize IFC definitions for a robust model exchange
solution [31] Also ontologies are one of the key technologies to deal with the semantic interoperablity
caused by the need to share semantics of BIM among project participants who do not necessarily share
the same definition of terminologies [8] Ontologies specify the semantic of terminology systems in a
well defined and unambiguous manner [32] by formally and explicitly representing shared unterstanding
about domain concepts and the relationships between concepts
ifcOWL emerges as a solution to the problem presented above by being an ontology based on
the industry foundation classes This ontology was created semi automatically by BuildingSmart by
lifting an EXPRESS schema into an ontological level by transforming the language constructs from
the schema into a terminology box definition using Web Ontology Language [33] Using OWL (Web
Ontology Language) [34] the intended meanings of domain technologies and relations are specified
through various OWL constructs which have implemented OWL semantics and logical axioms in an
easy-to-use way [8] Another approach to solve IFCrsquos lack of semantic clarity are the OmniClass tables
described in which present a structured source for an ontology
12
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Omniclass Uniclass
Table 11 ndash Construction Entities by Function Table D ndash FacilitiesTable 12 ndash Construction Entities by Form Table E ndash Construction EntitiesTable 13 ndash Spaces by Function Table F ndash SpacesTable 14 ndash Spaces by Form Table F ndash Spaces
Table 21 ndash Elements Table G ndash Elements for BuildingsTable H ndash Elements for Civil Engineering Works
Table 22 ndash Work Results Table J ndash Work Sections for BuildingsTable K ndash Work Sections for Civil Engineering Works
Table 23 ndash Products Table L ndash Construction ProductsTable 31 ndash Phases Table C ndash Management (in part)Table 32 ndash Services OmniClass Table B ndash Subject DisciplinesTable 33 ndash Disciplines Table B ndash Subject DisciplinesTable 34 ndash Organizational Roles Table C ndash Management (in part)Table 35 ndash Tools Table M ndash Construction AidsTable 36 ndash Information Table A ndash Forms of InformationTable 41 ndash Materials Table P ndash MaterialsTable 49 ndash Properties Table N ndash Properties and Characteristics
Table 21 Mapping between the tables from OmniClass and Uniclass adapted from [4]
tions To fulfil this the system consists of 15 hierarchical tables each representing a different aspect of
construction information The tables can be used individually or combined when a more complex type of
information needs to be classified [4] Tables 11-12 are used to organize construction results Tables 23
33 34 and 35 and to a lesser extent 36 and 41 are used to organize construction resources And finally
tables 31 and 32 are used to classify construction processes including the phases of construction entity
life cycles The 15 tables of Omniclass also map to the suggested tables in Section 4 of ISO 12002-2
The most important characteristic of these tables is that they are designed to work together to provide
extremely granular or specific classification Depending on the complexity of the object being classified
and the level of detail desired an object can have occurrences in one two or more tables For example
when trying to describe the workcost relationship that states that if a wall is battered 30 of labour
cost is added and if the wall is curved an extra 30 is added there is a need to combine table 23 where
we can find the products and table 22 where the work results are stated and reflect the activities to be
performed on such products
222 Uniclass
The Unified Classification System for the Construction Industry is the United Kingdomrsquos equivalent
to Omniclass From an early point there has always been a collaboration between the developers of
both OmniClass and Uniclass in order to promote a harmonized international standard The mapping
between the tables from OmniClass to Uniclass is presented in Table 21
23 Ontologies
An ontology is a formal representation of an abstracted view of a domain that describes the objects
concepts and relationships between them that holds in that domain for a specific purpose [23] There
11
Figure 23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L - ConstructionProducts (B) where it is clear the tree structure of Omniclass tables
are different classifications of ontologies based on parameters such as level of granularity their use
and types of relationships [24ndash27] The process of ontology modelling consists of modelling the con-
cepts and relationships in a specific field into formal ontologies ie in an ontology language with formal
syntax [28] Ontology engineering is useful for enabling interoperability across heterogeneous systems
because it provides the necessary semantics for many fields of knowlegde and facilitates knowledge
reuse sharing and integration [29 30] In the context of this work ontologies help with IFCrsquos lack of
semantic clarity in mapping entities and relationships which can result in the potential for multiple data
structures to represent the same information [3] The goal of ontology development is to remove am-
biguities associated with different viewpoints and formalize IFC definitions for a robust model exchange
solution [31] Also ontologies are one of the key technologies to deal with the semantic interoperablity
caused by the need to share semantics of BIM among project participants who do not necessarily share
the same definition of terminologies [8] Ontologies specify the semantic of terminology systems in a
well defined and unambiguous manner [32] by formally and explicitly representing shared unterstanding
about domain concepts and the relationships between concepts
ifcOWL emerges as a solution to the problem presented above by being an ontology based on
the industry foundation classes This ontology was created semi automatically by BuildingSmart by
lifting an EXPRESS schema into an ontological level by transforming the language constructs from
the schema into a terminology box definition using Web Ontology Language [33] Using OWL (Web
Ontology Language) [34] the intended meanings of domain technologies and relations are specified
through various OWL constructs which have implemented OWL semantics and logical axioms in an
easy-to-use way [8] Another approach to solve IFCrsquos lack of semantic clarity are the OmniClass tables
described in which present a structured source for an ontology
12
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Figure 23 Examples of the structure of Omniclass Table 23 - Products (A) and Uniclass Table L - ConstructionProducts (B) where it is clear the tree structure of Omniclass tables
are different classifications of ontologies based on parameters such as level of granularity their use
and types of relationships [24ndash27] The process of ontology modelling consists of modelling the con-
cepts and relationships in a specific field into formal ontologies ie in an ontology language with formal
syntax [28] Ontology engineering is useful for enabling interoperability across heterogeneous systems
because it provides the necessary semantics for many fields of knowlegde and facilitates knowledge
reuse sharing and integration [29 30] In the context of this work ontologies help with IFCrsquos lack of
semantic clarity in mapping entities and relationships which can result in the potential for multiple data
structures to represent the same information [3] The goal of ontology development is to remove am-
biguities associated with different viewpoints and formalize IFC definitions for a robust model exchange
solution [31] Also ontologies are one of the key technologies to deal with the semantic interoperablity
caused by the need to share semantics of BIM among project participants who do not necessarily share
the same definition of terminologies [8] Ontologies specify the semantic of terminology systems in a
well defined and unambiguous manner [32] by formally and explicitly representing shared unterstanding
about domain concepts and the relationships between concepts
ifcOWL emerges as a solution to the problem presented above by being an ontology based on
the industry foundation classes This ontology was created semi automatically by BuildingSmart by
lifting an EXPRESS schema into an ontological level by transforming the language constructs from
the schema into a terminology box definition using Web Ontology Language [33] Using OWL (Web
Ontology Language) [34] the intended meanings of domain technologies and relations are specified
through various OWL constructs which have implemented OWL semantics and logical axioms in an
easy-to-use way [8] Another approach to solve IFCrsquos lack of semantic clarity are the OmniClass tables
described in which present a structured source for an ontology
12
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
24 Recommendation Algorithms
In this section an analysis on the main recommendation algorithms is presented First association
rules are detailed This algorithm helps find items in sets that are highly correlated Next K-Nearest
Neighbours is described This algorithm helps find for a given item the set that is closer to it Finally
K-Means Clustering is presented This algorithm helps to group data in clusters by similarity
241 Association Rules
One of the most used technique for recommender systems in E-commerce is finding association
rules between sets of purchased products The main goal of these rules is to find the association
between products that are frequently bought together for example These associations can be used
for example when a seller wants to plan promotions and discounts More formally an association rule
between two sets of products X and Y states that the presence of products in the set X in transaction T
indicates a strong likelihood that products from the set Y are also present in T
The quality of an association rule is measured by its support and confidence The support s of a
rule measures the occurrence frequency of the pattern in the rule while the confidence c measures the
strength of the implication made by the rule [35] More formally
s =number of transactions containing X cup Y
number of transactions (21)
c =number of transactions containing X cup Y
number of transactions containing X (22)
In other words the support indicates the s of transactions that contain X cupU and for a rule X =rArr
Y the confidence states that c of transactions that contain X also contain Y A rule that has a high
confidence level is considered very important since it provides and accurate prediction of the outcome
in question [9]
242 K-Nearest Neighbours
This algorithm uses a similarity function to find sets of data that are similar to the target set The
k-NN (k-nearest neighbour) algorithm [36] stores all of its training data in memory with descriptions of
implicitly labelled data When a new unlabelled item needs to be classified the algorithm compares
this new item to all its stored data using a similarity function and determines the nearest neighbour or
the k-nearest neighbours The similarity function used to find the nearest neighbour depends on the
type of data For structured data a Euclidean distance metric [37 p 218] is often used When using the
vector space model the cosine similarity measure is often used More formally the Euclidean distance
of two points p and q
d(p q) = d(q p) =radic(q1 minus p1)2 + (q2 minus p2)2 + + (qn minus pn)2 (23)
13
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
The cosine similarity function [37 p 227] of two vectors can be derived using the Euclidean dot
product formula
a middot b = ab cos θ (24)
Given two vectors of attributes A and B the cosine similarity is defined as follows
similarity = cos θ =A middotBAB
=
nsumi=1
AiBiradicradicradicradic nsumi=1
A2i
radicradicradicradic nsumi=1
B2i
(25)
The resulting similarity ranges from -1 when the vectors are exact opposites to 1 when they are the
same In between values indicate intermediate similarity or dissimilarity [10]
243 K-Means Clustering
Clustering also referred to as unsupervised learning consists of assigning items to groups so that
the items in the same groups are more similar than items in different groups the goal is to discover
natural (or meaningful) groups that exist in the data [38] There are two categories of clustering algo-
rithms hierarchical and partitional Hierarchical clustering algorithms successively cluster items within
found clusters producing a set of nested clusters organized as a hierarchical tree Partitional clustering
algorithms divide the data items into non-overlapping clusters such that each data item belong only to
one cluster
K-Means clustering is a partitional algorithm The function divides the data set of N items into k dis-
joint subsets so that they are as close to each other as possible according to a given distance measure
Each cluster is defined by its members and its centroid A centroid is the point to which the sum of
the distances from all items in the cluster is minimized This algorithm works by randomly selecting k
centroids Then all items are assigned to the cluster whose centroid is closest to them When items
are added or removed from the cluster a new cluster centroid needs to be calculated This operation is
performed until there are no more items that changes the cluster membership Although this is a simple
and efficient algorithm there are some shortcomings to it assumption of prior knowledge of the data
in order to choose the appropriate k the final clusters are very sensitive to the selection of the initial
centroids and it can produce empty clusters [39]
244 Evaluation of recommendation algorithms
To evaluate top-N recommendations two metrics are used These metrics recall and precision
are widely used in the information retrieval(IR) community Recall is the fraction of the items that are
relevant that are successfully recommended Precision is the fraction of the recommended items that
are relevant [9] The formal definition of these metrics adapted to recommender systems is as follows
recall =|relevant items| cap |retrieved items|
|relevant items|(26)
14
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
precision =|relevant items| cap |retrieved items|
|retrieved items|(27)
15
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
16
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
3Related Work
Contents31 Building Information Models 1832 Recommender Systems 1933 Discussion 22
17
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Figure 31 Semantic enrichment engine (SeeBIM) architecture where it is possible to see the flow of executionthat allows an IFC model to be enriched by the rule processing engine
This section presents a detailed analysis on the related work for the problem this thesis tries to solve
The scope of this analysis is divided in two categories Building Information Models and Recommender
Systems Both are presented below
31 Building Information Models
In this section there is a description of two systems that attempt to solve IFCrsquos lack of semantic clarity
one by performing semantic enrichment and the other by reaching semantic interoperability
310A SeeBIM for semantic enrichment
Semantic enrichment of building models is a process in which an expert inference rule engine applies
domain-specific rule sets to identify new fact about building objects and relationships in an input building
model and adds them to the model These inference rules have the knowledge of domain experts
encapsulated in them SeeBIM is a tool that attempts to implement semantically useful building models
from explicit and implicit information contained in building models extracted from BIM tools
The inference rules are defined as IF-THEN rules using a predefined set of object types and opera-
tors expressed in a format which is easily comprehensible by domain experts that are not programmers
The operators include functions for reading the existing model testing for geometric and topological
relationships and for creating new objects properties and relationships The new and enriched objects
conform to an MVD defined for the given domain
The architecture of SeeBIM is shown in Figure 31 From it we can observe that is consists of the
following parts
1 A parser(1) to read the IFC model from BIM tools
2 An internal run-time database(2) to store the parsed information
3 The inference rules(345) described in a three-tiered structure
4 An IFC writer(6) to generate IFC files of the enriched model
18
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
5 A custom-built run-time rule-processing engine(7) to execute the user defined rules and add new
facts to the internal database of SeeBIM
As mentioned above SeeBIMrsquos inference rules are described in three tiers Tier 1 consists of rule
statements At this level domain experts can define inference rules for new facts about a model Their
lexical components are logical and relational operators Boolean constants universal operators (defined
in Tier 2) domain-specific concepts and relationships and product model schema entities Tier 2 is
a library of concepts properties and relationships as well as the geometry data query and spatial
topology operators that are used for compiling rules in Tier 1 Tier 3 represents the implementation in
computer code of Tier 2 operators [7]
310B Object Profile Manager for semantic interoperability
Semantic interoperability of BIM and data models is the ability of enabling multi-disciplinary applica-
tions to understand and utilize the semantics of BIM and meanings of model data and to map between
commonly agreed concepts to establish a semantically compatible information exchange environment
The approach described in [8] proposes an IFC compliant object-CAD based and OWL ontology en-
abled solution This approach consists of three steps
1 Object-based CAD modelling
2 IFC extensions modelling
3 Semantic mapping between CAD and IFC property definitions
A Web-enabled prototype for this approach was implemented This prototype uses a multi-tier archi-
tecture consisting of four tiers
1 Data source tier - used to store and retrieve data objects IFC files and XML instance files
2 Domain logic tier - used to provide domain services for management of CAD objects and vocabu-
lary property behaviour and relationship objects
3 Web tier - uses the MVC pattern to direct online service requests from client to relevant Model
beans for processing
4 Client tier - consists of interfacing tools and add-on toolkits for CAD and non-CAD applications
32 Recommender Systems
This section presents a technical analysis on some of the most used recommender systems Some
are e-commerce systems where the recommendation algorithms aid shoppers to find similar items to
the ones they like and others are systems that resort to recommendations to aid the users reduce time
while making a specific choice inherent to the domain of the system for example choosing a movie
19
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
320C Amazoncomrsquos Item-to-item collaborative filtering
In order to have effective advertisement Amazoncom resorts to a item to item recommendation
algorithm so that when a customer shows interest in a product by for example adding it to the cart
related or complementary products can be suggested thus increasing the size of the order Although
there are many approaches to make recommendations and recommendation algorithms none had the
scalability necessary to deal with Amazoncomrsquos tens of millions of customers and products To solve
that problem they created their own algorithm item-to-item collaborative filtering Contrary to matching
a user to another user with similar interests this algorithm matches each of the userrsquos purchased and
rated item to similar items into a recommendation list [40] To find the most similar match for a given
item the algorithm builds a similar-items table by finding items that customers tend to buy together thus
forming association rules between them To calculate the similarity between to items the cosine similarity
function is used in which each vector corresponds to an item instead of a customer as it is done in the
nearest neighbours algorithm The key to the item-to-item collaborative filteringrsquos success in terms of
scalability and performance is the creation of the similar items tables offline and since it recommends
highly correlated items the quality of the recommendations is excellent [10 41 42] Amazoncomrsquos
algorithm can be seen as an association rules algorithm
320D eBaycomrsquos Feedback Profile
The Feedback Profile feature of eBaycom is used to provide customers with a recommendation of
the sellers The feedback consists of a satisfaction rating as well as a specific comment about the other
user This profile consists of a table of the number of each rating in the past 7 days past month and
past 6 months as well as an overall summary This feature provides guidance when a similar product is
being sold by two different sellers for example [42]
320E MovieFindercomrsquos Match Maker
MovieFindercomrsquos Match Maker recommender system allows customers to find movies similar to a
given one based on attributes such as genre theme or cast for example This system also recommends
links to movies by the original filmrsquos director and key actors MovieFindercom also has We Predict
which is a recommender system that is based on a customerrsquos previous indicated ratings [42] These
recommender systems resort to clustering algorithms
320F Reelcomrsquos Movie Map
Reelscomrsquos Movie Matches provides recommendations on a moviersquos page for similar movies using
clustering These recommendations consist os a set up to a dozen links to the recommended movies
The Movie Map feature recommends movies based of syntactic features such as genre viewing format
price and so on These recommendations are editorrsquos recommendations for movies that fit the specified
criteria [42]
20
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
320G HeyStaks
HeyStaks [39] is an analytics platform that adds two basic features to a mainstream search en-
gine Besides allowing users to create and share search staks as a type of folder for their searches
HeyStaks also uses those staks to generate recommendations that are added to the underlying search
results that come from the mainstream search engine resorting to a clustering algorithm These rec-
ommendations are results that stak members have previously found relevant for similar queries and
help the user to discover results that friends colleagues have found interesting which may otherwise be
buried deep within Googlersquos default result list HeyStaks is divided in two components On one side a
client-side browser toolbar responsible for allowing the users to create and share staks capturing click-
throughs and managing the integration of HeyStaks recommendations with the default result list from
the search engine On the other side a back-end server that manages the individual stak indexes the
stak databse the HeyStaks social networking service and the recommendation engine In addition to
the toolbar HeyStaks users can also benefit from the HeyStaks search portal which provides a social
networking service built around peoplersquos search histories This portal also provides a wide range of stak
maintenance features
As for the recommendation engine itself each stak serves as a profile of the search activities of the
stak members Each stak is composed of a set of result pages and each page is associated with a
number of implicit and explicit interest indicators including the total number of times a result has been
selected the query terms that led to its selection the number of times a result has been tagged the
terms used to tag it the votes it has receives and the number of people it has been shared with Each
page is associate with a set of term data (query terms andor tag terms) and a set of usage data (the
selection tag share and voting count) The term data is represented as a Lucene1 index table At
search time a set of recommendations is produced in a number of stages relevant results are retrieved
and ranked from the Lucene stak index these promotion candidates are filtered based on an evidence
model to eliminate noisy recommendations and the remaining results are added to the search engine
result list according to a set of recommendation rules
320H BibSonomy
BibSonomy [39] is a students project at the Knowledge and Data Engineering Group of the University
of Kassel with the goal of providing a system for organizing BibTex entries similar to bookmarks in
Delicious 2 A bookmark in BibSonomy is composed by the title of the bookmark a description a list of
tags assigned by the user and finally the userrsquos username To provide support for the user during the
tagging process and facilitate tagging BibSonomy includes a tag recommender When a user posts a
web page to BibSonomy the system suggests up to ten recommended tags on the posting page These
recommendations are based on clusters with similar tags
1httpluceneapacheorg2httpsdeliciouscom
21
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
System Solution for Applicable to BIMLink
SeeBIM Semantic EnrichmentYes but presents a very complexsolution and does not make use ofany available standars
Object ProfileManager
SemanticInteroperability
No because is based on CADmodelling which is out of the scopeof this work
Table 31 Applicability analysis of the systems for semantic clarity in BIM studied for this work
33 Discussion
This section intends to analyse the solutions presented above and discuss whether and how they
solve the problem this work intends to solve This discussion is divided in two sections one concern-
ing the approaches for BIM models and the other concerning the recommender systems that were
described
In terms of BIM the presented work intends to solve two problems of these models one is semantic
enrichment and the other is semantic interoperability seeBIM and the Object Profile Manager are the
systems developed to solve such problems respectively Although a system that semantically enriches
IFC models could be a useful approach for this work seeBIMrsquos solution is rule-based and does not make
use of any existing classification system making it of more complex use On the other side the Object
Profile Manager solves a great problem concerning BIM and IFC models but bases its solution in CAD
modelling and makes a semantic mapping between CAD and IFC property definitions This solution is
not appropriated since goal of this work is on a higher level of abstraction than CAD modelling This
informations is summarized in Table 31
Concerning the recommender systems described in the previous section there is one that bases
its recommendations on a network of users HeyStaksrsquo recommendation algorithm creates a network
of users similar to a social network and makes its recommendations based on that network A user
can create a stak of web searches and share among its network and the other usersrsquo result page for a
similar search will present the recommended results first On the other side systems like Amazoncom
eBay MovieFindercom and Reelcom base their recommendations on similar items Aside from Ama-
zoncomrsquos item-to-item correlation all of the others are similar presenting recommendations based on
a set of attributes for the items such as movie genre and so on BibSonomy presents a whole different
type of recommendation content-based The best approach for this work is an algorithm similar to Ama-
zoncomrsquos item-to-item correlation since the purpose of the recommendation is the same recommend
items that are very closely correlated to one another In a shopping context it is useful for finding items
that are frequently bought together and in the context of this work the items to be correlated are ele-
ments extracted from an IFC file and the activities present in the classification system This information
is presented in Table 32
22
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
RecommenderSystem
RecommendationAlgorithm
RecommendationQuality
Applicable toBIMLink
Amazoncom Item-to-itemcorrelation
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
EbaycomrsquosFeedback Profile Satisfaction ratings -
No because thereis no actualrecommendation andonly presents moreinformation toaid the userrsquos choice
MovieFindercomrsquosMatchMaker
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
ReelcomrsquosMovieMap
Attribute baseditem-to itemrecommendations
Yes but lacksthe context-basedrecommendationsneeded for BIMLink
HeyStaks Network basedrecommendations G
No because the goalis to havea item-to-itemrecommender system
BibSonomy Content-basedrecommendations G
Can be due to beingcontent-basedbut does not havea specific domainfor the recommendations
Table 32 Applicability analysis of the recommender systems studied for this work The recommendation quality isevaluated in High ( ) Medium (G) and Not Applicable(-)
23
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
24
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
4Solution
Contents41 Requirements 2642 Conclusion 29
25
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
This chapter describes the design of the solution and implementation of BIMLink This section pro-
vides a detailed explanation of how to theoretically solve the problem that was described
401 Solution Overview
The goal of this work is to semantically enrich IFC models with the aid of a recommender system
Since activity planning is the one of the practical applications of performing semantic enrichment the
scope of this solution focuses on that aspect Therefore the goal is to assign activities to elements
extracted from the IFC model by using the Omniclass Classification System that helps to clarify the
semantics of IFC In order to do that two Omniclass Tables need to be mapped to one another One is
the Omniclass Products table that represents the elements extracted from the IFC model and the other
is the Omniclass Work Results table which represents the activities to be assigned to the elements
The solution relies on a user-friendly application that allows users to create profiles add projects
and upload files to their respective projects The application also runs the recommendation algorithm
that performs suggestions of which Omniclass Work Results should be assigned to which Omniclass
Products Finally the users will validate the recommended work results
The main architectural components for this application are
bull Centralized database - All the data from the users projects need to be stored in a centralized
database in order to provide a a bigger knowledge base for the recommendation algorithm
bull Data management application - All the data from the projects and the models needs to be managed
before it is stored in the database This application read and parse the IFC files and also run the
recommendation algorithm
bull User interface - This component is needed so that the user can have a way of creating a profile
and projects as well as uploading files and managing the file information
41 Requirements
This section presents the requirements the system must fulfil in order to achieve its main goal provide
recommendations of activities to construction elements based on the Omniclass classification system
The requirements are as follows
1 Upload of IFC files and associate them to a project
2 Analysis of the file and extraction of the relevant information in order to create an instance of the
model
3 Creation of associations between products and work results manually
4 When possible recommendation of the best work result for a product
5 User validation of recommended work results
6 Correction of wrongful recommendations
26
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Figure 41 BIMLinkrsquos use case
411 Use Case
The main use case of the proposed solution consists of the user using BIMLink to upload an IFC file
and working with the recommendations made by the application
412 Conceptual Overview
Considering that the main goal for this system is to provide recommendations in order to assist the
classification of elements extracted from an IFC file it is important to first answer the question what
information from the IFC file is relevant to this problem Also it is important to have a formal definition
of the recommendation algorithm
412A The relevant information from IFC
It is known that due to the power of IFC an IFC file can be of big dimensions and have thousands of
lines So in order to find what was relevant and due to the lack of domain knowledge in the construction
field the only way was to look at the file and search for mentions of a classification system The
conclusion was that there are four classes that play a role in classifying an IFC element Those are
bull IfClassification - used for the arrangement of objects into a class or category according to a com-
mon purpose or their possession of common characteristics A classification in the sense of Ifc-
Classification is taxonomy or taxonomic scheme arranged in a hierarchical structure A category
of objects relates to other categories in a generalization-specialization relationship Therefore the
classification items in an classification are organized in a tree structure
27
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
bull IfcClassificationReference - reference into a classification system or source for a specific classifi-
cation key (or code)
bull IfcRelAssociatesClassification - handles the assignment of a classification item to objects occur-
rences
bull IfcObjectDefinition - is the generalization of any semantically treated thing or process either being
a type or an occurrences
From above it is clear that these classes from the IFC file that are relevant and how they are
extracted from the file is exlpained in chapter
412B Formal definition of the recommendation algorithm
BIMLinkrsquos main feature is the automatic suggestion of activities for the elements extracted from the
IFC model In order to implement this feature a recommendation algorithm was implemented following
an item-to-item recommendation approach This algorithm will make recommendations of associations
between elements and activities based on the project profile At the first use the algorithm will not have
any knowledge base for recommendations and only after running once where associations are created
it will be able to make recommendations in further uses
More formally let us define an association A = p w_r t r w where
bull p is the Omniclass Product code
bull w_r is the Omniclass Work Result code
bull t and r are the type of construction and region of the project respectively
bull w is the association weight
The associations will be stored persistently in a database so that the algorithm can reuse them for future
similar projects The similarity between projects is defined by context of the project which in turn is
defined by the type and region fields of the association The weight of association A is calculated as
shown below
weight(A) =total correct recommendations of A
total recommendations of A(41)
The execution flow of the algorithm for a given Omniclass Product code consists of
1 Find all associations that have the same product code as the given one
2 If there are none create a new association with a blank work result If there are associations
find one with the same type and region If one is found recommend that associationrsquos work result
code If none is found try and find the most similar association considering the type and region of
the current project
3 After perfoming the recommendation update the weigths for the associations
28
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
When trying to find an association according to the project profile the most relevant attribute is the
type of the project and then the projectrsquos region Only if there is more than one association to choose
from the weight comes into play and the algorithm recommends the heaviest association since it
indicates a higher rate of correct recommendations
As stated in Section 33 the item-to-item approach is the most appropriate to this work The project
profile defined by its type and region as stated above is what was lacking from the presented systems
42 Conclusion
The solution presented in this chapter intends to solve the problem of semantically enriching an IFC
model with the Omniclass Classification System None of the solutions presented in Chapter 3 have
all the vital components needed to solve this problem In terms of semantic enrichment none used
the Omncilass Classification System and for the recommender systems although some have solutions
that are similar to the one proposed they all lacked the capability of having a project profile which is
determinant in performing the recommendations
29
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
30
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
5Implementation
Contents51 Data Model 3252 Architecture 3253 Application Layer 3554 Main features 37
31
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
This section intends to describe the train of thought while implementing the applicationrsquos main func-
tionality First the domain model and the architecture of the application are described as well as the
chosen technologies for each component of the architecture After that each section details the spe-
cific requirements of the application ranging from the creation of a user profile to the moment of the
recommendation of activities
51 Data Model
Figure 51 presents the data model for the proposed solution
52 Architecture
This section intends to describe the architecture of the application and how each component is
structured and connected to each other From a general point of view the application is divided in four
layers each with its specific logic as described in 52 In order to implement these layers and have
a well structured web application the Play Framework was used1 The following sections decribe how
each layer was implemented using the Play Framework from now on referred as Play
521 The Model View Controller Pattern
The Model View Controller (MVC) pattern is a software architectural pattern used to implement user
interfaces[43] and is used by Play applied to the Web Architecture This pattern divides the applications
in two separare layers the Presentation Layer and the Model Layer The Presentation layer is then
divided into the View Layer and the Controller Layer Further description of how the structural layers
of the application mentioned above compose the three layers of the MVC pattern is presented in the
following sections
As for the three layers of the MVC pattern their roles are as follows
1 Model Layer - is the domain-specific representation of the data belonging to the application It is
where the domain model is represented and where logic adds meaning to the data
2 View Layer - renders the model into a user interface It is rendered in a rsquoWeb formatrsquo such as
HTML XML or JSON
3 Controller Layer - responds to events such as user interactions and processes them to invoke
changes on the model if necessary These events are usually HTTP requests
The flow of communication between the layers is described in figure 53
522 Data and Domain Layers
Both the Data and the Domain Layers compose the Model Layer of Play These can be viewed as two
sub-layers of the Model Layer with different responsibilities but highly dependent of one another Starting1httpwwwplayframeworkcom
32
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Figure 51 BIMLinkrsquos Data model
from the bottom in the Data Layer is where the domain model is represented in a database The chosen
relational database management system (RDBMS) was MySQL 2 with the engine InnoDB allowing for
ACID (Atomicity Consistency Isolation Durability) operations After choosing the RDBMS the next step
was choosing a ObjectRelational Mapping Framework (ORM) The decision to use an ORM relied on
the many advantages of using one Such as facilitating the implementation of the Domain Model highly
reducing code by allowing users to focus on the business logic instead of repetitive CRUD (Create
2httpswwwmysqlcom
33
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Figure 52 Layered architecture - conceptual layers on which the design on the application is based
Figure 53 MVC message flow
Read Update Delete) logic ORMrsquos are also rich in query capability by providing an object oriented
query language they also provide concurrency support and cache management since the entities are
cached in memory thereby reducing the load in the database Finally an ORM provide transaction and
key management
Hibernate ORM 3 was the chosen one due to being an implementation of the Java Persistence
API (JPA) Hibernate creates a mapping from Java Objects to database tables and from Java types to
SQL types There are two ways to implement these mappings through a XML description or through
Java Annotations The Java Annotations were the ones used in the application Also the Data Access
Object (DAO) Pattern was used so that each domain object has an object that provides the basic
CRUD operations for the respective entity This isolation supports the Single Responsability Principle
which states that every module or class should have responsibility over a single part of the functionality
provided by the software and that responsibility should be entirely encapsulated by the class
In the Domain Layer each entity from the Domain Model is represented as a Java Object All the
operations done on the domain entities are also in this layer To further understand how the domain
model is implemented consider this layer divided in four sub-layers Entities Entity Managers Entity
3httphibernateorgorm
34
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Figure 54 Sample route definition
Data Transfer Objects (DTO) and Entity Services At the Entities level the domain entities are described
minutely in Java Objects The Entity Managers are responsible for comprising all the CRUD operations
that can be done to an entity in the database This is where all the SQL queries are represented For
this layer the Java Entity Manager was used to provide an effortless API for simple SQL operations
The Entity DTOrsquos are a simple representation of the domain entities which have only the essential infor-
mation to be sent for the web application in a JSON Object Each DTO is responsible for building the
corresponding JSON Object for the respective entity Finally the entity services describe at a higher
level the operations to be done to the domain entities These services describe all the business logic
for the domain and each service only performs one action
The flow of execution in the Domain Layer is as follows
1 A service is called from a Controller
2 The service calls the corresponding entity manager for the requested action
3 The entity manager performs the requested action on and entity and gives back a result
4 If needed the service creates a DTO to send back to the controller
523 Service Layer
Since a client (normally a web application) cannot invoke directly the code from the domain layer the
functionality of a domain object is exposed as resources represented by URIrsquos which can be invoked
by the client through the HTTP protocol These resources are provided by the Controller Layer of the
MVC pattern which portraits the Service Layer This layer is responsible for accessing or modifying the
domain objects The controllers are also written in Java and are both procedural and RequestResponse
oriented meaning that the controllers are Action generators An Action is a function that handles a
request and generates a result to be sent to the client
Play also has a built-in HTTP router which provides a way to transform a HTTP request into an
Action The router configuration has its own syntax consisting of an HTTP method and URI pattern
Each route definition invokes a method from a controller where the parameters for the method are
described in the URI pattern Figure 54 shows how a route can be defined
53 Application Layer
On the top sits the Application Layer which matches the Views Layer of MVC This is where the web
application ie the user interface is implemented Play makes it very simple to organize all the code
used in this layer either for JavaScript and HMTL Normally Play uses a template language based on
Scala to generate HTML but due to previous experience with HTML the decision was made to write
the HMTL code manually instead of learning this new language making it more time efficient As for
35
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Figure 55 BIMLinkrsquos Distributed Architecture and Message Exchange There are two types of messages ex-changed (1) - Requestsreplies between client and application and (2) - Queriesreplies tofrom the database
JavaScript also due to previous experience AngularJS was the chosen framework to add client-side
behaviour to the web application
Using AngularJS allowed to have a single page application This means that there is no need to
refresh the page whenever there is a change to it Only the portion of the page that needs changing is
refreshed This is possible because AngularJS allows to pre-load and cache all the pages code without
the need for any extra requests to download them and also has routing capabilities This allows for a
lesser refresh time for the page and data as well a smaller bandwidth usage
Since AngularJS is used to add behaviour to the web application it is also where the code for HTTP
requests is implemented An important factor here is that whenever a request is made the request URL
is built according to the syntax mentioned in the section above where the URI patterns match the ones
in the router configuration for Playrsquos built-in HTTP Router
531 Distributed Architecture
The layers described above will be implemented in several distinct machines The three main compo-
nents of this architecture will be the userrsquos machine a server and a database server The userrsquos machine
will act as the client for the web application which will be deployed in the server which in turn will work
with the database server for the storing and retrieval of information The database server is responsible
for maintaining the persistence of the application data The application layer service layer and domain
logic layer will be implemented in the server and the data layer will be implemented in the database
server Having a centralized database allows for a bigger knowledge base for the algorithm This could
present a privacy challenge but as detailed in the next chapter the recommendation algorithm only uses
the profile of the project so the user data and project information is kept private
36
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
54 Main features
This sections describes the implementation of BIMLinkrsquos main features including the recommenda-
tion algorithm
541 User profile and project creation
Both the task of creating a user profile and a project are very simple and can be done by filling two
different forms A project can only be created within the user profile as stated in the domain model so
the first task a user needs to accomplish is the Sign Up There is no complexity to this task since the
user only needs to provide an username password email and the company the user belongs to After
that to create a project the user only needs to provide the name and type of the project and the region
of its location Both the type and region fields have to be chosen within a set of provided values The
regions at the moment are only Portugalrsquos districts and the types are the main types of construction
projects nowadays such as a house apartment school hospital museum hotel and so on After
having created a project the user can choose whether to create another or work on the project that was
just created by uploading a file How this is done and why is detailed in the next section
542 File upload and IFC Tools Project
As stated above the next task a user can fulfil is to upload an IFC file This is the file that contains
the building model and all the information necessary to achieve the applicationrsquos main goal The first
step was to decide whether to have a direct file upload or to upload it with multipartform-data The direct
file upload did not work due to the average file size of an IFC file working only on smaller files
The next problem was how to create the AngularJS controller for uploading a file This was a problem
because AngularJSrsquos ng-model directive does not work on inputs with type=file To solve this a directive
was created to bind files to variables and then a service was also created to override some AngularJS
defaults and send the file with a multipartform-data request After solving this problem the work is done
in Playrsquos controller and Play provides a simple way to parse the HTTP request and access the file
Once the file is on the server it is necessary to read the file and extract only the relevant information
for the application In order to do that a Java Framework for accessing and visualizing IFC based
Building Information Models called IFC Tools Project was used4 Although this framework provides a
simple way to access the model it has some limitations Due to these limitations new parsers had to be
developed These parsers are the subject of the following section
IFC Tools Project made it possible to read the file into an instance of IfcModel which has imple-
mented methods to extract collections of a given class Since the relevant information concerns the
classification of IFC objects the main class to analyse is IfcClassification The IFC specification states
that an IfcClassification is used for the arrangement of objects into a class or category according to a
common purpose or their possession of common characteristics which in this projectrsquos context is the4httpwwwifctoolsprojectcom
37
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Figure 56 Classification of an IfcColumn Here it is possible to see that the definition of a classification referencelist all the objects subject to such classification
Omniclass Classification System From an example IFC file the full classification of an IFC object is
depicted in figure 56
In order to extract the all the classifications from the model the first step was to get all the IfcRelAsso-
ciatesClassification which is used to assign a classification to an object In this case it is a a reference
to an classification code reference provided by an external classification system From the example it is
possible to conclude that IfcRelAssociatesClassification has the STEP line number of the IfcClassifica-
tionReference the set of IfcObjects that were assigned the classification described in the example and
also the name of the description of the classification which in this case is rsquoOCCS - Productsrsquo The only
information that is possible to extract with the Java Tools Project is the IfcRelAssociatesClassification
objects The only way to access all the information mentioned above is from the parsers described in
the following section
543 File parsers
Concerning the Java Tools Projectrsquos limitations three parsers were implemented one for each type
of STEP line that contained the relevant information The classes corresponding to the lines are IfcRe-
lAssociatesClassification IfcClassificationReference and IfcObjectDefinition and they are parsed in this
order
First the IfcRelAssociatesClassificationParser for each line extracts the set of objects that are sub-
ject to the classification defined in that line and it only moves on to the next line after the other two
parsers are executed for the current line The next step concerns the IfcClassificationReferenceParser
whose role is to get the Omniclass code of that classification And finally the IfcObjectDefinitionParser
works on each object extracted from the IfcRelAssociatesClassificationParser to construct a string with
the name and description of the object For example from Figure 56 that string would be IFCCOLUMN
- rsquoConcrete Rectangular 300 x 400mm295660rsquo
After the three parsers are executed for one line of the IfcRelAssociatesClassification collection it is
38
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Figure 57 Decision tree followed by the algorithm to create associations between products and work results
possible to create BL_IFCElement instances with the corresponding classification code and store them
in the database
544 Recommendation algorithm and creation of associations
When a file is uploaded the model is fully parsed and the relevant information is stored in the
database it is the moment for the recommendation algorithm to run and provide the user with Om-
niclass Work Result codes for the Omniclass Product codes that were present in the model Since every
element from the model has an Omniclass Product code the algorithm only works with these codes and
the project context To better understand how the algorithm works take into consideration the structure
of the Association table which can be seen in the domain model 51
The parsing of the model provides a set of instances of BL_IFCElement each with its respective
Omniclass Product codes The first step is to create associations for these elements and the process
of doing that is depicted in Figure 57 First the algorithm tries to find associations that have the same
product code if there are none a new association is created with the work result field initialized with
the string No activity found This provides the user with feedback that a work result code needs to be
written manually If there are already associations for the product code but none have the same type
and region simultaneously it is necessary to go into deeper detail to find the best work result If there is
already an association with the same type and region for the product code that association is assigned
to the element
Figure 58 shows how it is possible to find the best work result for a product by first separating by
type because the type of a project is more relevant than the region For example two houses on in
Lisbon and another in Porto are more similar than a house and a school both in Lisbon Whenever
there is a tie the weight comes in to solve the problem
39
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Figure 58 Work flow to find the best work result code for a product
40
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
6Validation
Contents
41
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
The validation of this work is divided in two parts The first part concerns the recommendation
algorithm itself that is the goal is to validate the accuracy of the recommendations performed The
usability of the application was measured with user tests followed by a satisfaction questionnaire
605 Methodology
605A Validating the algorithm
The only way available to validate the algorithm was to provide several models with Omniclass Prod-
uct codes in common to the system and verify that the recommended Omniclass Work Result codes
match the known mappings provided These mappings are described in Table Only one model
enriched with Omniclass Product codes was provided for testing so in order to have an accurate vali-
dation of the algorithm sample models from Building Smart were used 1 Since these files did not have
Omniclass Product codes they were inserted manually with the aid of ArchiCAD 2 Since these mod-
els were created in another source not all IfcObjects were available for editing but at least all of them
had in common the object IfcCurtainWall and so it was possible to verify if the recommendations were
accurate
605B User satisfaction validation
In order to conclude whether the application is usable user tests were conducted The test consisted
of users performing a set of tasks while the time number of clicks and number of errors were recorded
and after that the users answered a satisfaction questionnaire in order to assess several usability aspects
of the application
The tasks to be performed by the user involved the creation of a profile and two projects uploading
IFC to the projects adding an Omniclass Work Result code to the first project and observing the changes
to the second one
The usability criteria that was defined for the set of task is as follows
bull Efficiency - The average time to complete the tasks is lower than 4 minutes
bull Effectiveness - The average number of errors performed during the completion of the tasks is lower
than 3
bull Accuracy - The average percentage of correct recommendations is higher than 90
The tests were conducted with 15 users with the majority of them with areas of expertise between
Science and Technology
606 Results
606A Recommendation Algorithm
Figure 61 which shows the page for the second project added by the same user which has in
common the IfcCurtainWall object with the Omniclass Work Result codes already filled in Here if the1httpwwwnibsorgpage=bsa_commonbimfiles2httpwwwgraphisoftcomarchicad
42
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Figure 61 Project page for the ClinicOPO project after adding the code in HouseLx project A - List of IfcbjectDefini-tionrsquos extracted from the IFC file showing the pre-filled field for the Omniclass Work Result from a recommendationbased on previous projects
code is correct the user does not need to do anything and if the user wants a different code it is only
necessary to change in the input field and validate The validate option is only enable in case of change
in the input field
606B User Satisfaction
In order to conclude if the usability criteria was achieved statistical calculations were performed From
them it is possible to conclude that the average time is within the confidence interval and it is possible to
conclude with 95 confidence that the number of errors will be lower than 3
The results from the satisfaction questionnaire are available in the Appendix D and from them it is
possible to conclude that in general the users found the application easy to use and visually appealing
The suggestions for improvements were mainly concerning the loading of the model that is to show
some kind of progress indication and also to add a search field in order to find the codes more easily
43
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
44
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
7Conclusion
Contents71 Future Work 4672 Final Remarks 46
45
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
This work explores the possibility of performing semantic enrichment on IFC models with the aid of
a recommender system by first stating the need for a tool to perform semantic enrichment due to IFCrsquos
lack of semantic clarity This problem was analysed and discussed firstly by describing the concepts that
are of the most importance to comprehend the scope of this work namely Building Information Models
and Recommendation Algorithms Secondly the most popular solutions for semantic enrichment in IFC
were presented as well as the most popular recommender systems This was followed by a discussion
to conclude which solution was closer to solving the stated problem and if any of them could be of use
for the proposed solution There was no space for doubt that Amazoncomrsquos item-to-item correlation
algorithm is where the inspiration for the proposed solution relies
The solution for the problem relies in developing a system to help with activity planning on construc-
tion projects since this task is one of the areas where IFCrsquos lack of semantic clarity has most negative
consequences The system provides also a recommendation feature for the activities to be associated
with the IFC elements in order to reduce the amount of time spent performing this task as well as to
avoid the repetition of work for similar projects The system uses the Omniclass Classification System to
match Omniclass Products to Omniclass Work Results this way semantically enriching the IFC model
To validate this solution two kinds of tests were performed On one hand the algorithm was validated
by providing the systems with different models with IfcObjects in common and verifying that the Omni-
class Work Result codes that were recommended were the same for the different projects On the other
hand usability tests were conducted to assess the usability of the application The users performed a
set of tasks and answered a satisfaction questionnaire The results from both tests were satisfactory
71 Future Work
The semantic enrichment of IFC models with the Omniclass Classification System is open to en-
hancements First it is necessary to expand the application to support the other classification systems
available in the construction business namely the Uniclass Classification System used in the UK An-
other improvement for the system would be to measure the proximity of the regions the projects are
developed in This would allow for better recommendations concerning similar projects because al-
though two projects can be in different regions if these regions are close and similar the algorithm
should take that into account
Another possibility would be to explore algorithms such as PageRank to perform the recommenda-
tions This would be useful to rank the importance of the associations and aid in performing recommen-
dations Also a possible approach would be to use clustering algorithms where the clusters would be
built with similar projects
72 Final Remarks
This work was an opportunity for academic intellectual and personal growth not only because of all
the acquired knowledge during the year spent developing the solution this work describes but for the
adversities it presented The most significant one being the difficulty of getting IFC models to create
46
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
a vast knowledge base for the recommendation algorithm This problem was not something that was
possible to foresee at the beginning of this work Only during the development of the solution the
need for more models emerged and only when we tried to get them obstacles rose First the are not
many IFC models enriched with Omniclass Product codes in Portugal secondly the ones that exist are
property of the construction companies they belong to There was also a possibility of collaborating
with another university but that due to circumstances out of our control that did not happen Despite
this considerable adversity all efforts were reunited to conclude this work and we believe to have been
successful at it
47
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
48
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
Bibliography
[1] C M Eastman Y-S Jeong R Sacks and I Kaner ldquoExchange Model and Exchange Object Con-
cepts for Implementation of National BIM Standardsrdquo Journal of Computing in Civil Engineering
vol 24 no 1 pp 25ndash34 2010
[2] V Bazjanac and A Kiviniemi ldquoReduction simplification translation and interpretation in
the exchange of model datardquo Proceedings of the 24th Conference on Bringing ITC
Knowledge to Work vol 78 no Gsa 2003 pp 163ndash168 2007 [Online] Available
httpcicvttfiprojectsvbe-netdata2007_Data_Simplification__CIB-W78_Mariborpdf
[3] M Venugopal C M Eastman and J Teizer ldquoAn ontology-based analysis of the industry foundation
class schema for building information model exchangesrdquo Advanced Engineering Informatics
vol 29 no 4 pp 940ndash957 2015 [Online] Available httpdxdoiorg101016jaei201509006
[4] Csi ldquoOmniClass Introduction and Userrsquos Guiderdquo p 29 2006 [Online] Available
httpwwwomniclassorgtablesOmniClass_Main_Intro_2006-03-28pdf
[5] Construction Project Information Committee Uniclass Unified Classification for the Construction
Industry RIBA Publisher 1997
[6] buildingSMART Alliance ldquoIFC4 Documentation - IfcElementrdquo pp 1ndash7 2013
[7] M Belsky R Sacks and I Brilakis ldquoSemantic Enrichment for Building Information Modelingrdquo
Computer-Aided Civil and Infrastructure Engineering vol 31 no 4 pp 261ndash274 2016
[8] Q Yang and Y Zhang ldquoSemantic interoperability in building design Methods and
toolsrdquo Computer-Aided Design vol 38 no 10 pp 1099ndash1112 2006 [Online] Available
httplinkinghubelseviercomretrievepiiS0010448506001011
[9] B Sarwar G Karypis J Konstan and J Riedl ldquoAnalysis of Recommendation Algorithms for E-
Commercerdquo 2000
[10] mdashmdash ldquoItem-based collaborative filtering recommendation algorithmsrdquo Proceedings of the 10th
vol 1 pp 285ndash295 2001 [Online] Available httpportalacmorgcitationcfmdoid=371920
372071$delimiter026E30F$nhttpdlacmorgcitationcfmid=372071
[11] C Eastman P Teicholz R Sacks and K Liston BIM Handbook A Guide to Building Information
Modeling for Owners Managers Designers Engineers and Contractors 2nd ed Wiley
49
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
[12] NIMBS Committe ldquoNational Building Information Modeling Standardrdquo Nbim p 180 2007
[13] W Shen Q Hao H Mak J Neelamkavil H Xie J Dickinson R Thomas A Pardasani and
H Xue ldquoSystems integration and collaboration in architecture engineering construction and
facilities management A reviewrdquo Advanced Engineering Informatics vol 24 no 2 pp 196ndash207
2010 [Online] Available httpdxdoiorg101016jaei200909001
[14] T Cerovsek ldquoA review and outlook for a rsquoBuilding Information Modelrsquo (BIM) A multi-standpoint
framework for technological developmentrdquo Advanced Engineering Informatics vol 25 no 2 pp
224ndash244 2011 [Online] Available httpdxdoiorg101016jaei201006003
[15] W M W R F S Katranuschkov P R J Scherer P Katranuschkov and S Researcher ldquoBIM-based
generation of multi-model viewsrdquo Proceedings of the CIB W78 Conference no 1 pp 16ndash18 2010
[16] U Isikdag G Aouad J Underwood and S Wu ldquoBuilding information models a review on
storage and exchange mechanismsrdquo Conference on Information 2007 [Online] Available
httpitcscixnetdataworksattw78-2007-020-068b-Isikdagpdf
[17] R Vanlande C Nicolle and C Cruz ldquoIFC and building lifecycle managementrdquo Automation in Con-
struction vol 18 no 1 pp 70ndash78 2008
[18] IAI ldquoIFC Object Model Architecture Guiderdquo International Alliance of Interoperability
1999 [Online] Available httpiaiweblblgovResourcesIFC_ReleasesIFC_Release_20
FINAL_DocumentsIFC_R2_ObjectModelArchitectureGuide_USPDF
[19] buildingSMART Alliance ldquoIFC4 Documentation - Example E61rdquo vol 4 pp 1ndash2 2013
[20] E W East ldquoConstruction Operations Building Information Exchange (COBIE) Requirements
Definition and Pilot Implementation Standardrdquo Construction Engineering Research Laboratory
ERDCCERL TR-07-30 no June pp 1ndash195 2007
[21] Csi MasterFormat 2004
[22] R P Charette and H E Marshall ldquoUNIFORMAT II Elemental Classification for Building
Specifications Cost Estimating and Cost Analysisrdquo p 103 1999 [Online] Available
httpwwwfirenistgovbfrlpubsbuild99art080html
[23] T R Gruber ldquoTechnical Report KSL 92-71 Revised April 1993 A Translation Approach to
Portable Ontology Specifications by A Translation Approach to Portable Ontology Specificationsrdquo
Knowledge Creation Diffusion Utilization vol 5 no April pp 199ndash220 1993 [Online] Available
httpciteseerxistpsueduviewdocdownloaddoi=10111173273amprep=rep1amptype=pdf
[24] R Studer V R Benjamins and D Fensel ldquoKnowledge Engineering Principles and methodsrdquo
vol 25 pp 161ndash197 1998
[25] A Gomez-Perez ldquoOntological Engineering With Examples from the Areas of Knowledge Manage-
ment E-Commerce and the Semantic Webrdquo no August pp 44ndash70 2007
50
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
[26] I J Doyle P Torasso E Sandewall G Stresemann T R Gruber and G R Olsen ldquoAn Ontology
for Engineering Mathematics 2 The Purpose of the Ontologyrdquo Fourth International Conference on
Principles of Knowledge Representation and Reasoning 1994
[27] G van Heijst A T Schreiber and B J Wielinga ldquoUsing explicit ontologies in KBS developmentrdquo
International Journal of Human-Computer Studies vol 45 pp 183ndash292 1997
[28] J Zhang A Webster M Lawrence M Nepal R Pottinger S Staub-French and M Tory
ldquoImproving the usability of standard schemasrdquo Information Systems vol 36 no 2 pp 209ndash221
2011 [Online] Available httpdxdoiorg101016jis201008005
[29] N Choi I-Y Song and H Han ldquoA Survey on Ontology Mapping Namyoun Choi Il-Yeol Song
and Hyoil Han College of Information Science and Technology Drexel University Philadelphia PA
19014rdquo SIGMOD Record vol 35 no 3 pp 34ndash41 2006
[30] N F Noy and D L McGuinness ldquoOntology Development 101 A Guide to Creating Your First
Ontologyrdquo Stanford Knowledge Systems Laboratory p 25 2001
[31] T Tudorache ldquoEmploying ontologies for an improved development process in collabora-
tive engineeringrdquo Fakultaumlt IVndashElektrotechnik und Informatik Berlin no November
2006 [Online] Available httpopus4kobvdeopus4-tuberlinfrontdoordeliverindexdocId1384
filetudorache_taniapdf
[32] N Guarino ldquoFormal Ontology and Information Systemsrdquo Proceedings of the first international
conference vol 46 no June pp 3ndash15 1998 [Online] Available httpciteseerxistpsuedu
viewdocdownloaddoi=1011291776amprep=rep1amptype=pdf
[33] J Beetz J van Leeuwen and B de Vries ldquoIfcOWL A case of transforming EXPRESS schemas
into ontologiesrdquo Artificial Intelligence for Engineering Design Analysis and Manufacturing vol 23
no 01 p 89 2009
[34] F v H Deborah L McGuinness ldquoOwl web ontology language overviewrdquo W3C recommendation
102004-03 vol 2004 no February pp 1ndash12 2004
[35] J K K Yoon Ho Choa Soung Hie Kim ldquoA personalized recommender system based on web usage
mining and decision tree inductionrdquo Expert Systems with Applications vol 23 pp 329ndash342 2002
[36] J Kim D Jeong and D K Baik ldquoOntology-based semantic recommendation system in home
network environmentrdquo IEEE Transactions on Consumer Electronics vol 55 no 3 pp 1178ndash1184
2009
[37] M-M Deza and E Deza ldquoDictionary of distancesrdquo 2006
[38] G S Linoff and M J Berry Data Mining Techniques For Marketing Sales and Customer Rela-
tionship Management 3rd ed Wiley 2011
51
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
[39] F Ricci L Rokach B Shapira and P B Kantor Recommender Systems Handbook 2nd ed
Springer 2011
[40] R Cited O City and R U-s-A Data ldquo( 12 ) United States Patentrdquo vol 1 no 12 pp 0ndash4 2003
[41] G Linden B Smith and J York ldquoAmazoncom recommendations Item-to-item collaborative filter-
ingrdquo IEEE Internet Computing vol 7 no 1 pp 76ndash80 2003
[42] J B Schafer J Konstan and J Riedi ldquoRecommender Systems in E-Commercerdquo Proceedings of
the 1st ACM conference on Electronic commerce EC 99 vol 2001 pp 158ndash166 1999 [Online]
Available httpportalacmorgcitationcfmdoid=336992337035
[43] E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object-
oriented software 1995
52
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
ARESTful API
A-1
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
API Description
GET userid=id Get user info
GET userprojectst=t Get user projects
GET userprojectt=tampid=id Get user project by id
POST signupu=uampp=pampe=eampc=c User creation
POST loginu=uampp=p Login
POST updateUsert=tampu=uampp=pampe=eampc=c Update user profile
POST addProjectt=tamppn=pnamppt=ptamppr=pr Add project
POST uploadt=tamppId=pId Upload file to project
POST deleteProjectt=tamppId=pId Delete project
POST addAssociationt=tamppId=pIdampeId=eIdamppCode=pCodeampaCode=aCode Add association to project
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
BValidation Protocol
B-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Protocol
Thank you for agreeing to participate in this test The goal of this validation is to conclude if the
application BIMLink fullfils its goal of enriching an IFC model with the Omniclass Classification
System More specifically the goal is to match work results to products resorting to a
recommendation algorithm All the provided data will be kept only in the scope of this project
Also please remain from asking questions during the completion of the tasks
1 Sign up to the application
2 Add a project with the following attributes
Name HouseLX
Type House
Region Lisboa
3 Upload the file houseLXifc located in the Desktop
4 Look for the Omniclass Product Code ldquo23-13 33 27rdquo for IFC ndash Curtain Wall and input the
work result code ldquo22-08 44 00rdquo and validate
5 Add another project with the following attributes Name ClinicOPO
Type Clinic
Region Porto
6 Upload the file clinicOPOifc located in the Desktop
7 Is there a work result code for the IFC ndash Curtain Wall If yes is it ldquo22-08 44 00rdquo
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
CSatisfaction Questionnaire
C-1
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
A Recommender System to Assist the Semantic Enrichment of IFC Models
Diana Ribeiro
dianaribeirotecnicoulisboapt
Instituto Superior Teacutecnico
BIMLinkrsquos Validation Questionnaire
Thank you for your participation Your answers are anonymous and will only be used in regard to
this project
Gerenal Information
1 Age
o lt 18
o 18 ndash 24
o 25 ndash 34
o 35 ndash 49
o gt 50
o I prefer not to say
2 Education (completed)
o High School
o Technical Degree
o Bachelorrsquos Degree
o Masterrsquos Degree
o Doctorate Degree
3 Area of expertise
o Health
o Finance
o Science
o Technology
o Law
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
4 Are you familiar with BIM
o No (Please move to the next section of the questionnaire)
o Yes
5 Degree of knowledge of BIM
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
6 Are you familiar with IFC
o No (Please move to the next section of the questionnaire)
o Yes
7 Degree of knowledge of IFC
Novice - 1 2 3 4 5 6 7 8 9 10 ndash Expert
General evaluation of the application
1 Classify the following aspects of the application
o Visual aspect
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to use
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Speed
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
o Easy to complete the required tasks
Not good - 1 2 3 4 5 6 7 8 9 10 ndash Very Good
2 Do you have any suggestions concerning the usability of the application
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
BIM and IFC (please only answer these questions if you are familiar to BIM
and IFC)
1 Do you believe this application meets its goal
o No
o Yes
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
2 Classify the complexity of enriching the IFC model with the Omniclass Classification
System
Simple - 1 2 3 4 5 6 7 8 9 10 ndash Complex
3 Classify the accuracy of the recommendations made by the application
Not accurate - 1 2 3 4 5 6 7 8 9 10 ndash Very accurate
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
DSatisfaction Questionnaire Results
D-1
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-
- Title
- Acknowledgments
- Abstract
- Resumo
- Index
-
- Contents
- List of Figures
- List of Tables
-
- 1 Introduction
-
- 11 Motivation
- 12 Methodology and Contributions
- 13 Document Organization
-
- 2 Concepts
-
- 21 Building Information Modelling
-
- 211 BIM Tools Platforms and Environments
- 212 BIM Schemas
- 213 Model View Definitions
- 214 Exchange Formats
- 215 Industry Foundation Classes
- 216 COBie
-
- 22 Omniclass Classification System
-
- 221 OmniClass Tables
- 222 Uniclass
-
- 23 Ontologies
- 24 Recommendation Algorithms
-
- 241 Association Rules
- 242 K-Nearest Neighbours
- 243 K-Means Clustering
- 244 Evaluation of recommendation algorithms
-
- 3 Related Work
-
- 31 Building Information Models
-
- 310A SeeBIM for semantic enrichment
-
- 310B Object Profile Manager for semantic interoperability
-
- 32 Recommender Systems
-
- 320C Amazoncoms Item-to-item collaborative filtering
-
- 320D eBaycoms Feedback Profile
- 320E MovieFindercoms Match Maker
- 320F Reelcoms Movie Map
- 320G HeyStaks
- 320H BibSonomy
-
- 33 Discussion
-
- 4 Solution
-
- 401 Solution Overview
- 41 Requirements
-
- 411 Use Case
- 412 Conceptual Overview
-
- 412A The relevant information from IFC
- 412B Formal definition of the recommendation algorithm
-
- 42 Conclusion
-
- 5 Implementation
-
- 51 Data Model
- 52 Architecture
-
- 521 The Model View Controller Pattern
- 522 Data and Domain Layers
- 523 Service Layer
-
- 53 Application Layer
-
- 531 Distributed Architecture
-
- 54 Main features
-
- 541 User profile and project creation
- 542 File upload and IFC Tools Project
- 543 File parsers
- 544 Recommendation algorithm and creation of associations
-
- 6 Validation
-
- 605 Methodology
-
- 605A Validating the algorithm
-
- 605B User satisfaction validation
-
- 606 Results
-
- 606A Recommendation Algorithm
- 606B User Satisfaction
-
- 7 Conclusion
-
- 71 Future Work
- 72 Final Remarks
-
- Bibliography
- Appendix A RESTful API
- Appendix B Validation Protocol
- Appendix C Satisfaction Questionnaire
- Appendix D Satisfaction Questionnaire Results
-