a recommender system to assist the semantic enrichment of ... · a recommender system to assist the...

84
A Recommender System to Assist the Semantic Enrichment 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: José Manuel da Costa Alves Marques Supervisor: Prof. Paulo Jorge Fernandes Carreira Member of the Committee: José Alberto Rodrigues Pereira Sardinha November 2016

Upload: phamphuc

Post on 20-May-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

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