Professional Documents
Culture Documents
net/publication/328556923
CITATION READS
1 575
3 authors, including:
Some of the authors of this publication are also working on these related projects:
the Disaster-Safety Industry Promotion by the Ministry of Interior and Safety (MOIS, Korea) View project
All content following this page was uploaded by Sungil Ham on 21 November 2018.
··································································································································································································································
Abstract
This study proposes an IFC model restructuring framework for importing a large IFC model into an Object-Relation-database-
based Industry Foundation Classes (OR-IFC) server. The purpose of using an IFC server is to facilitate collaboration by exchanging
Building Information Modeling (BIM) data among construction project participants. However, the large size of IFC files could
require several days to upload to the server and cause a time delay in terms of information exchange. For example, with a non-
optimized algorithm, it can take several days to import a 111 MB model file into the IFC server and an import failure can occur with
large model files that exceeds 300 MB due to the many cycles of iterations in the search and mapping process for IFC entities and
object identifiers. Therefore, the authors proposed a new restructuring algorithm and a bulk-loading method in order to import IFC
data into the server in a timely manner. The idea of bulk-loading is to presort and group all the IFC instances by IFC class into blocks.
As a result, the import time for a 61 MB model required 56 seconds, and a 111 MB office-building model and a 346 MB building
model were imported in 2 min 37 sec and 14 min 11 sec, respectively. The experimental result have shown that the import speed was
improved by 30 times faster than the previous NoSQL-based approach. Therefore, the proposed method is anticipated to enable
efficient information exchange among project participants in future BIM projects.
Keywords: Industry Foundation Classes (IFC), Object Relational Database (ORDB), IFC model server, Building Information
Modeling (BIM), BIM server, Bulk-loading
··································································································································································································································
*Ph.D. Candidate, Dept. of Civil and Environmental Engineering, Carnegie Mellon University, Pittsburgh, United States (E-mail: chiyonc@andrew.cmu.edu)
**Member, Ph.D., Assistant Professor, School of Architecture, Korea National University of Transportation, Chungju 27469, Korea (E-mail: jwon@ut.ac.kr)
***Member, Ph.D. Senior Researcher, Spatial Information Research Institute, Korea Land and Geospatial Informatix Corp., Jeonju 54870, Korea (Corre-
sponding Author, E-mail: siham@lx.or.kr)
− 4930 −
IFC Model Restructuring Framework for Efficient Bulk-loading to Object-relational IFC Model Server
proprietary query language while supporting the complex inheritance converter reads in and converts an IFC schema into a native
and aggregation structures of the IFC. The benefit of the ORDB database structure. The schema converter runs only once to
approach was also noticed by Wuhan University researchers who create empty tables or classes when a new IFC server is setup.
indicated that ORDB is suitable for preserving the inheritance The import module translates an IFC model file into a format
and containment relationships among IFC entities (Li et al., that can be read by the core database and uploads the translated
2016). ORDB approach also reduces the database complexity by data to the core database. An IFC file stores model data
using fewer tables to store IFC instances and improves data according to ISO 10303 Part 21 (ISO 10303-21:2016). The core
management efficiency (Li et al., 2016). database stores and manages the imported IFC-model information.
Another rapidly emerging IFC server is the BIMserver, which The export module queries and exports the information queried
is being developed by the Netherlands Organization for applied from the core database into an IFC file. Among these four
scientific research TNO and the Eindhoven University of modules, this study focuses on the import module.
Technology in the Netherlands (Beetz et al., 2010; BIMServer,
2015). BIMserver adopted the NoSQL approach and uses 3.2 Uploading a Translated IFC Model as an SQL File vs.
BerkeleyDB as the platform (Beetz et al., 2011). NoSQL is also an Object File
referred to as a schema-less approach because it ignores the As described above, the import module usually performs in
relations between entities specified in a schema and stores data in two steps. First it translates an IFC model file into a format that
a simplified form of a key and its value (Seeger, 2009). A can be read by a core database and then uploads the translated
shortcoming of the NoSQL approach is that the query requires a data to the core database. Regarding the target format, an IFC
complex restructuring process of relations between entities, and instance model file may be translated into a long list of standard
it becomes challenging when a schema has very complex SQL statements. A major drawback of uploading an IFC file
inheritance and aggregation structures like IFC. Another study translated into SQL is that it requires one more internal step of
by Zhang et al. (2014) also developed a semi structured distributed translating SQL statements to a native data structure. This
BIM server using Hadoop Hbase which is also a NoSQL database. additional translation process occurs internally, and thus, is
Although many IFC model servers were developed previously, invisible to the users, but greatly slows the performance of
the import capability was still reported as one of the major issues. uploading data to a database.
Therefore, this paper focuses on improving the import performance An alternative approach to the SQL approach is to translate an
of an IFC model server developed based on the ORDB approach IFC model file directly into the native object structure of the core
by proposing a new restructuring process and mapping method database. This study refers to the file that contains data according
of IFC data. to the native data structure of a core database as an ‘object file’.
The data stored in an object file can be directly "bulkloaded (i.e.,
3. General Introduction to the IFC Server loaded as a large chunk without an additional translation
process)” into a database management system, and thus, can
Before discussing the restructuring algorithm of IFC data for greatly reduce the import time. Therefore, this study proposes the
importing data into the IFC model server in detail, this section briefly bulk-loading approach for the upload of translated data.
introduces the main components of the IFC model server and general
approaches of importing an IFC instance model into a server. 4. Improved Process of Changing the IFC Instance
Model File to a Bulk-loading File
3.1 Main Components of the IFC Server
Regardless of the database type, an IFC server is generally The research team including the authors previously developed
composed of a schema converter, import module, core database an RDB-based IFC server based on an algorithm developed for
(data storage), and an export module (Fig. 2). The schema the CIS/2 server (You et al., 2004) before this study to compare
with ORDB based server. The RDB-based IFC server took three model data (ISO 10303-21:2016) in Table 1. The object file is
days to import a 5-MB church model. This impractically slow grouped with each corresponding IFC entity and the first line of
test result motivated us to switch from the RDB approach to the each group is described with the entity name and attribute names
ORDB approach, which is more efficient in dealing with the based on the IFC express scheme (ISO 10303-11:2004). For
object inheritance and aggregation structure of IFC than RDB. example, the first line of each group is described in a form such
As a result, the OR-IFC server (Lee et al., 2014) was developed. as ‘%class entity name (attribute name1, attribute name2, …,
This study used the OR-IFC server as a platform. However, other attribute namen).’ The subsequent lines apply to the IFC Instance
ORDB-based servers can also be used. This section explains the model (ISO 10303-21:2016) and are described with the instance
data structure of the object file and the process of converting the name and the attributes. It is formed as “Instance name: attribute1
IFC file to an object file format for upload to the OR-IFC server. attribute2 … attributen” and in a case where the attribute is a
reference type, it is expressed as “@entity ID|Instance name”.
4.1 Structure of an Object File for the Proposed OR-IFC The “at” symbol (@) in front of the entity id simply denotes the
Server beginning of an instance name. The number after the vertical bar
There are various methods to load the data into the database (|) denotes the instance name of the IFC entity. Lastly, the object
such as a SQL (Structured Query Language)-based method and file is made by utilizing this form for every entity. This is
the bulk-loading method which considers the speed when loading because the utilized DBMS requires the loading format to be in
large data or migrating the database. RDB-based databases such as this form. If other DBMSs are deployed, the notation of the
Oracle and Mysql use the Comma-Separated Values (CSV) file DMBS should be followed accordingly. Table 2 shows the data
format which is used to exchange data within various spreadsheet structure of the object file and the converted example of the
programs (Shafranovich, 2005). The ORDB-based database was object file using the IfcExtrudedAreaSolid entity as an example.
utilized in this paper and the file that is used for bulk-loading has a Figure 3 shows the conversion process of the #110=
native object structure. This native object file is used for bulk- IfcExtrudedAreaSolid(#209, #208, #225, 200) instance. The
loading in this study and will refer this as ‘object file’ from now on. conversion process follows several steps. First, the header file is
The object file used in this study is defined based on the IFC made which corresponds to the entity name IfcExtrudedAreaSolid
express scheme (ISO 10303-11:2004) and the IFC Instance of the #110 instance. The entity IfcExtrudedAreaSolid consists of
Table 1. Structure of the IFC Express Scheme and Instance Model Data
Structure Example
ENTITY IfcExtrudedAreaSolid
IFC express scheme (ISO 10303-11)
SweptArea : IfcProfileDef;
Position : IfcAxis2Placement3D;
ENTITY entity name
ExtrudedDirection : IfcDirection;
attribute name: attribute type;
Depth : IfcPositiveLengthMeasure;
END_ENTITY;
END_ENTITY;
#110 = IfcExtrudedAreaSolid (#209,#218,#225,200);
#209 = IfcArbitraryClosedProfileDef (.AREA.,$,#412);
IFC Instance model data (ISO 10303-21)
#218 = IfcAxis2Placement3D (#6,$,$);
#225 = IfcDirection ((0.,0.,1.));
Instance name = entity name(attribute)
#416 = IfcExtrudedAreaSolid (#414,#415,#19,8.5);
#583 = IfcExtrudedAreaSolid (#580,#582,#19,8.5);
Table 2. Data Structure of the Object File, Example of Object File, and Entity ID Information
Object file structure
%class entity name1 (attribute name1, attribute name2, … , attribute namen)
Instance name1: attribute1 attribute2 … attributen
Instance name2: attribute1 attribute2 … attributen
…
Instance name m: attribute1 attribute2 … attributen
four attributes which are SweptArea, Position, ExtrudedDirection, versatile data structure for performing fast associative lookups,
and Depth defined by the IFC express scheme (ISO 10303-11:2004). which requires O(1) average memory accesses per lookup (Song
Thus, the header file is written as “%class IfcExtrudedAreaSolid et al., 2005). One disadvantage of using a hash table method is
(SweptArea, Position, ExtrudedDirection, Depth)”. that it has the possibility to cause hash collisions if the hash
Second, the attributes “#209, #218, #225, 200” of instance function creates identical index for more than one key. However,
#110 are converted. Note that the #209 attribute is a reference type. a hash table that causes no hash collisions was generated in this
As such, this needs to be converted into the form of “@entity study when converting the IFC instances to the form of an
ID|Instance name”. Thus, the instance #209 needs to be searched ‘object file’ which is used for bulk-loading IFC to the database
and then get the entity name of the instance in order to find the ‘CUBRID (2017)’. The main role of creating the ‘Hash table’ is
entity ID of #209. For example, since instance #209 is to store the IFC instance name as IDs and to lookup the table
“#209=IfcArbitraryClosedProfileDef(.AREA.,$,#412)”, the entity during the conversion process of changing the old IDs to new
name is IfcArbitraryClosedProfileDef, and the entity ID of IDs. The old ID is the original instance name in IFC and the new
IfcArbitraryClosedProfileDef is 27 from Table 2. Therefore, ID is used for storing the ‘object file’ into the database ‘CUBRID’.
#209 is converted to “27|#209”. Similarly with the preceding, The conversion process was implemented using C# which has
#218 and #225 are converted to “34|#218” and “192|#225” a ‘Dictionary’ class that has the ‘hash table’ function. A ‘Dictionary’
respectively since the entity names are ifcAxis2Placement3D class utilizes a ‘Chaining’ method which checks the data in a
and IfcDirection and their entity ID are 34 and 192, respectively. bucket and adds a chain node while invoking the next node if
The last attribute “200” is not converted since it is not a reference data exists. By using this function, the conversion proceeds in
type. Lastly, instance #110 is converted in the appropriate form three steps as the following: (1) load entity names and IDs, (2)
as “#110: @27|#209 @34|#218 @192|#225 200”. load the parsed IFC instance file to memory, and (3) convert IDs
to generate object file.
4.2 Implementation of the Conversion Process 1. Load entity name and IDs
In this section, the implementation of the conversion process The first step is to load the list information of the IFC entity
(from IFC instance model file to object file) is described. The name and the automatically assigned id (number) by the OR-
key of the conversion process is to rapidly search the numerous IFC server into memory (Fig. 4).
amount of reference IDs within the large-size IFC instance 1) Parse the entity name and the id (①)
model file. In general, an iteration-based search method is used 2) Create the instance ifcEntity of the IFCEntity Class (②)
to compare all the information of the instance list in a consecutive 3) Save the IFCEntity and the string name to the
order. Although the implementation of the iteration based method is 4) ifcEntityDictionary (instance of Dictionary Class) (③, ④)
simple, it consumes considerable amount of computation time 2. Parse the IFC instance file and load to memory
for searching the IDs. Another searching method is using a ‘hash The second step is to load the parsed IFC instance file into
table’ which is recently developed in object-oriented programs to memory (Fig. 5).
efficiently search through the key and value. A hash table is a 1) Parse the instance name, ifc entity name, and values (attributes)
5. Performance Test
Fig. 5. The Second Process: Parse ifc Instance (model) File and Load
can be applied to any version of IFC, but IFC 2 × 3 was used Table 3. The Total Import Time of the OR-IFC Server for Different
since it is still the most commonly used format. Currently IFC4 IFC Model Files
(formerly known as IFC 2x4), which was released in September IFC file size 5 MB 61 MB 111 MB 346 MB
2012, is the latest version of IFC (buildingSMART, 2012). Number of data instances 92,570 878,215 1,893,588 9,732,936
In addition, a small software application was developed to Generated object file size 4 MB 51 MB 91 MB 272 MB
measure the runtime and the memory of the proposed import Conversion Time (a) 2 sec 19 sec 34 sec 126 sec
algorithm to evaluate the performance. The IFC server and the Bulk-loading Time (b) 4 sec 37 sec 123 sec 725 sec
import modules were executed on a regular performance computer Total import time (a+b) 6 sec 56 sec 157 sec 851 sec
with a Windows 7 64 bit operation system. The central processing Space complexity 0.11GB 1.91 GB 3.92GB 11.90 GB
unit was an Intel(R) Core(TM) i7-4790 CPU @ 3.60 GHz and
the memory (RAM) of the computer was 32.0 GB.
bulk-loading time. The ‘conversion time’ is the time it requires
5.1 OR-IFC Server Import Time Measurement to convert the IFC model file into an object file by using the
Four different size of IFC model files (small size of 5 MB, technique explained in section 4. The ‘bulk-loading time’ is the
medium sizes of 61 MB and 111 MB, and large size of 346 MB) runtime to import the object file into the CUBRID database.
were used for testing to measure the time complexity and the Furthermore, the space complexity in Table 3 shows the amount
space complexity of the proposed import framework of the OR- of consumed memory during the conversion process.
IFC server (Table 3). The model files were all from actual While Table 3 shows that the space complexity increases
industry projects and Table 3 shows the amount of resources the dramatically as the IFC model size increases, the conversion
proposed method consumed for each IFC model files. process of the algorithm in terms of time complexity takes linear
The total import time is the sum of the conversion time and the time as shown in Fig. 7. The conversion time requires time
proportional to the length of the number of data instances. This data structure for data query and export processes since the no-
means that the IFC restructuring algorithm has decent performance schema approach discards a schema structure. Thus, the proposed
considering the increasing number of data instances when the approach in this study can be said to be a significant improvement
IFC model file becomes larger. reducing the import time while maintaining the data structure.
5.2 Comparison between the Proposed OR-IFC Server 5.3 Import time Comparison with Previous Literatures
and BIMserver To further evaluate the import performance of the proposed
The import performance of BIMserver and the proposed OR- approach, the import time was compared with other previous
IFC server was compared using the same four different size of studies using the ratios ‘Kilobyte per second’ and ‘Second per
model files that were used in section 5.1 (Table 4). The release kilobyte’. The performance of several different BIM servers
version of BIMserver was ‘bimserverjar-1.5.61’, which was the were compared based on the import time and the IFC model size
latest version of BIMserver at the time of the test. (Table 5).
As a result, the import time of the OR-IFC server for the small First, the value of IFC model sizes were divided by the import
size 5 MB model test was half the time of the BIMserver. time. Then the import time values were divided by the IFC
Furthermore, the import time difference dramatically increases model size. The two columns ‘KB/sec (a / b)’ and ‘sec/KB (b /
when the file size becomes larger. For example, the import time a)’ in Table 5 shows the corresponding ratios. The top five results
of the OR-IFC server outperformed the BIMserver by 29.9 times of each ratio that showed good performance are marked in bold.
when the 111 MB IFC file was tested (Figure 8). Therefore, the Note that the test results above are not to be compared directly
poor import performance is still an issue when storing large IFC since the test environment were not identical among the studies.
model files into the previously developed IFC server. Unfortunately, However, we can still observe the present state of the IFC
the import performance test of BIMserver for the 346 MB server’s import performance and thus obtain a general idea.
building model case could not be completed due to an unknown Especially, it is worth mentioning and comparing these results
BIMserver system error. However, it is possible that the IFC with the object-relational storage model that was suggested in Li
model itself could have been the problem that caused the error. et al. (2016) which used ORDB from an Oracle database, but
The strength of the no-schema approach, which is utilized by had poor performance since the consumed time for import took
the BIMserver, lies in its simplicity for the data import process more than 27 times that of the proposed approach to import a 5
although it may take considerable effort and time to rebuild the MB IFC model file to the server.
Table 5. Performance Comparison Based on Import Time and IFC Model Size
Rank by
Rank by
Database Original IFC Number of Import KB/sec sec/KB import time
Server import speed
type file size (a) instances time (b) (a / b) (b / a) per data
(KB/sec)
(sec/KB)
5,274 KB 92,570 6 sec 879.00 0.0011 3 2
OR-IFC server 62,214 KB 878,215 56 sec 1110.96 0.0009 1 1
ORDB
(Cubrid database) 113,406 KB 1,893,588 157 sec 722.33 0.0014 5 4
354,740 KB 9,732,936 851 sec 416.85 0.0024 7 6
OR-IFC server 31 KB 425 3 sec 10.33 0.0968 12 11
(Oracle database), ORDB 5,298 KB 102,285 166 sec 31.92 0.0313 10 9
Li et al. (2016) 37,568 KB 660,952 669 sec 56.16 0.0178 9 8
5,274 KB 92,570 12 sec 439.50 0.0023 6 5
BIMserver
NoSQL 62,214 KB 878,215 83 sec 749.57 0.0013 4 3
(2015)
113,406 KB 1,893,588 4,697 sec 24.14 0.0414 11 10
BIMISP
(Hadoop Hbase), NoSQL 204,800 KB - 230 sec 890.43 0.0011 2 2
Zhang et al. (2014)
Centralized BIM server,
RDBMS 204,800 KB - 543 sec 377.86 0.0026 8 7
Zhang et al. (2014)
Therefore, the experimental results above show that the proposed the 111 MB test case. Moreover, to the best of our knowledge,
approach of this study has good potential. The technique this is the first paper that attempted to import a large IFC model
described in this study is anticipated to be used in future BIM size that exceeds 300 MB, and also showed that it could be
projects that consists of large amount of IFC data to process and stored in an IFC server in a timely manner.
to share among project participants when using an IFC model The experimental results have shown that the import performance
server. of the proposed method outperforms the IFC server which is
developed based on a no-schema approach. In addition, the
6. Conclusions proposed algorithm has an advantage of maintaining the data
structure and relations between entities, while the no-schema
Despite previous and current efforts to develop various IFC approach imports data ignoring the data structure.
servers, IFC servers are still limited by slow import performance. Although the authors aimed to address the slow import
As the size of a BIM model becomes larger, the import performance performance problem in this paper, several issues remain as
becomes a non-trivial issue. Current practice in the industry limitations. In practice, fourteen minutes to import a 346 MB file
maintains BIM to be under 150 MB in order to easily manipulate may still not be acceptable. The algorithm should be further
the model using a BIM authoring tool. However, IFC servers improved in future studies. One possible approach to improve
have difficulties when importing BIM that exceeds 300 MB the performance is to use a high-end computer. A parallel
mainly due to massive iteration during the mapping processes. computing approach can also be deployed. Another option is to
While developing the IFC model restructuring algorithm, it was divide the IFC model file into small pieces and simultaneously
discovered that the import performance become exponentially slower translate using multiple processors and then merge the pieces
as the model size increases when the algorithm was not optimized. into one. Another limitation of this study is that the proposed
The poor import performance problem was due to numerous cycles method consists of two separated processes: the conversion
of iteration in the entity search and mapping process. process and the import process. The reason of the separation was
To address this issue, the authors proposed a new robust mapping because the focus of this study was to develop an IFC model
method and a restructuring algorithm to efficiently import an IFC restructuring algorithm and not a bulk-loading import module.
model to an ORDB-based server. A hash table was utilized to However, the two processes would need to be integrated in order
pre-process and store the entities and their identifier information. for the proposed method to be adopted in practice.
Then, by using the bulk-loading method the import performance
was significantly improved. It required 56 seconds to import a 61 Acknowledgements
MB university-building model file on a regular performance
computer and took 2 minutes 37 seconds to import a 111 MB The authors thank Prof. Ghang Lee for manuscript assistance
office-building model file. For a large-sized model file, it and also thank the Building Informatics Group (BIG) at Yonsei
required 14 minutes 11 seconds to import a 346 MB file. The University providing the experiment environment. This research
result (Table 5) shows that the import speed (KB/sec) was was supported by the Ministry of Land, Infrastructure, and
improved 30 times (722.33/24.14) faster than the BIMserver for Transport in Korea under the Urban Planning and Architecture
(UPA) research support program and was supervised by the Jotne IT. (2013). EDMmodelServer Official Website 2013. http://www.
Korea Agency for Infrastructure Technology Advancement (KAIA) jotneit.no/products/edm-model-server-ifc (accessed May 14, 2018).
(17NSIP-B067569-05). Jørgensen, K. a., Skauge, J., Christiansson, P., Svidt, K., Sørensen, K. B.,
Mitchell, J. (2008). Use of IFC Model Servers-Modelling Collaboration
Possibilities in Practice, Aalborg: Department of Production, Aalborg
References University http://vbn.aau.dk/en/publications/use-of-ifc-model-servers--
modelling-collaboration-possibilities-in-practice(68eb55e0-77f1-11dd-
Adachi, Y. (2002). “Overview of IFC model server framework.” Eur Conf 8b88-000ea68e967b).html (accessed May 14, 2018).
Process Prod Model - eWork Ebus Archit Eng Constr, pp. 367-372. Kang, H.-S., Lee, G., and Kim, S. W. (2008). “A framework for developing
Adachi, Y. (2002). Technical overview of IFC model server 2002, http:// an IFC server for supporting Construction Product Life Cycle
cic.vtt.fi/projects/ifcsvr (accessed May 14, 2018). Management (CPLM).” Comput. Struct. Eng. Inst. Korea Conf.,
Beetz, J., van Berlo, L., de Laat, R., and van den Helm, P. (2010). pp. 458-463.
bimserver. org–An Open Source IFC Model Server, Proc CIB W78 Kim, S. W. and Lee, G. (2007). “Mapping IFC to Object-oriented Relational
2010 27th Int Conf Egypt, pp. 16-18. Database.' KICEM Conf., Pukyong University, Busan, pp. 301-304.
Beetz, J., van Berlo, L., de Laat, R., Bonsma, P. (2011). “Advances in Lee, G., Jeong, J., Won, J., Cho, C., You, S., Ham, S., Kang, H. (2014).
the Development and Application of an Open Source Model Server “Query Performance of the IFC model server using an object-
for Building Information.” Proc CIB W78 Conf Nice 2011. relational database approach and a traditional relational database
BIMServer (2015). BIMServer: open source Building Information Model approach.” J Comput Civ Eng, Vol. 28, pp. 210-222, DOI: 10.1061/
server 2015. http://bimserver.org/ (accessed November 5, 2017). (ASCE)CP.1943-5487.0000256.
Chen, P. H., Cui, L., Wan, C., Yang, Q., Ting, S. K., and Tiong, R. L. K. Li, H., Liu, H., Liu, Y., and Wang, Y. (2016). “An object-relational IFC
(2005). “Implementation of IFC-based web server for collaborative storage model based on oracle database.” Int Arch Photogramm
building design between architects and structural engineers.” Autom Remote Sens Spat Inf Sci - ISPRS Arch, Vol. XLI, Part B2, pp. 625-
Constr, Vol. 14, No. 1, pp. 115-28, DOI: 10.1016/j.autcon.2004. 08.013. 631, DOI: 10.5194/isprsarchives-XLI-B2-625-2016.
Codd, E. F. (1970). “A relational model of data for large shared data Maatuk, A. M., Ali, M. A., Moftah, R. A., and Elkobaisi, M. R. (2016).
banks.” Commun ACM, Vol. 13, pp. 377-387, DOI: 10.1145/ “Performance evaluation of an RDB and an ORDB: A comparative
362384.362685. study using the BUCKY benchmark.” Proc - 2016 Int Conf Eng
CUBRID (2017). CUBRID Official Website. http://www.cubrid.org MIS, ICEMIS 2016, DOI: 10.1109/ICEMIS.2016.7745312.
(accessed November 5, 2017). McGraw-Hill Construction, Bernstein, H. M., Jones, S. A., and Gudgel,
Faraj, I., Alshawi, M., Aouad, G., Child, T., and Underwood, J. (2000). J. E. (2010). “The business value of BIM in europe: Getting building
“Industry foundation classes Web-based collaborative construction information modeling to the bottom line in the United Kingdom,
computer environment: WISPER.” Autom Constr, Vol. 10, No. 1, France and Germany.” Smart Market Report, pp. 1-48, DOI:
pp. 79-99, DOI: 10.1016/S0926-5805(99)00038-2. 10.1016/j.autcon.2015.07.004.
Fischer, M. and Kam, C. (2002). PM4D Final Report. CIFE Tech Rep, McGraw-Hill Construction, Jones, S. A. and Bernstein, H. M. (2012).
Vol. 143, pp. 0-50 https://web.stanford.edu/group/4D/download/ “The business value of BIM in North America.” Smart Market Report,
PM4D_Final_Report.pdf (accessed May 14, 2018). pp. 1-68.
IFC Model Server. In IFC Wiki, IFC-Developers (2017). http://www. McGraw-Hill Construction, Young, N. W., Jones, S. A., Bernstein, H.
ifcwiki.org/index.php/IFC-Developers (accessed November 5, 2017). M., and Gudgel, J. E. (2009). “The business value of BIM-Getting
IFC4 (2012). buildingSMART Official Website 2012. http://www. Building Information Modeling to the bottom line.” Smart Market
buildingsmart-tech.org/specifications/ifc-releases/ifc4-release (accessed Report, pp. 1-50.
May 14, 2018). Plume, J. and Mitchell, J. (2007). “Collaborative design using a shared
ISO. ISO 10303-11 (2004). Industrial automation systems and integration - IFC building model-Learning from experience.” Autom Constr, Vol. 16,
Product data representation and exchange - Part 11: Description pp. 28-36, DOI: 10.1016/j.autcon.2005.10.003.
methods: The EXPRESS language reference manual 2004:2, DOI: Seeger, M., Ultra-Large-Sites, S. (2009). Key-value stores: a practical
https://www.iso.org/standard/38047.html. overview, Comput Sci Media 1–21, http://blog.marc-seeger.de/
ISO. ISO 10303-21 (2016). Industrial automation systems and integration - assets/papers/Ultra_Large_Sites_SS09-Seeger_Key_Value_Stores.pdf
Product data representation and exchange - Part 21: Implementation (accessed May 14, 2018).
methods: Clear text encoding of the exchange structure 2016:3, Shafranovich, Y. (2005). RFC 4180 common format and MIME type for
DOI: https://www.iso.org/standard/63141.html. CSV Files, https://tools.ietf.org/html/rfc4180 (accessed May 14, 2018).
ISO. ISO 16739 (2013). Industry Foundation Classes (IFC) for data sharing Song, H., Dharmapurikar, S., Turner, J., and Lockwood, J. (2005). “Fast hash
in the construction and facility management industries 2013:1, DOI: table lookup using extended bloom filter.” ACM SIGCOMM Comput
https://www.iso.org/standard/51622.html. Commun Rev., Vol. 35, p. 181, DOI: 10.1145/1080091. 1080114.
ISO. ISO/IEC 9075-1 (2016). Information technology - Database languages You, S.-J., Yang, D., and Eastman, C. M. (2004). “Relational DB
- SQL - Part 1: Framework (SQL/Framework). 2016:5, DOI: https:// implementation of STEP based product model.” Build. Futur. 16th
www.iso.org/standard/63555.html. CIB World Build. Congr., pp. 1-18.
Jeong, J., Lee, G., and Kang, H. (2010). Preliminary Performance Evaluation Zhang, J. P., Liu, Q., Yu, F. Q., Hu, Z. Z., and Zaho, W. Z. (2014). “A
of an ORDB-based IFC server and an RDB-based IFC server by framework of cloud-computing based BIM service for building
using the BUCKY Benchmark Method, W078-Special Track 18th lifecycle.” Comput Civ. Build Eng., pp. 1514-1521, DOI: 10.1061/
CIB World Build. Congr. May 2010 Salford, United Kingdom, 2010, 9780784413616.188.
p. 192.