{'fraction_non_alphanumeric': 0.028191885848152486, 'fraction_numerical': 0.01227238845703333, 'mean_word_length': 4.960806093303713, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A Generalized Adaptive Framework (GAF) for Automating Code Compliance Checking

Building design review is the procedure of checking a design against codes and standard provisions to satisfy the accuracy of the design and identify non-compliances before construction begins. The current approaches for conducting the design review process in an automatic or semi-automatic manner are either based on proprietary, domain-specific or hard-coded rule-based mechanisms. These methods may be effective in their specific applications, but they have the downsides of being costly to maintain, inflexible to modify, and lack a generalized framework of rules and regulations modeling that can adapt to various engineering design realms, and thus don’t support a neutral data standard. They are often referred to as ‘Black Box’ or ‘Gray Box’ approaches. This research offers a new comprehensive framework that reduces the limitations of the cited methods. Building regulations, for instance, are legal documents transcribed and approved by professionals to be interpreted and applied by people. They are hardly as precise as formal logic. Engineers, architects, and contractors can read those technical documents and transform them into scientific notations and software applications. They can extract any data they need, reason about it, and apply it at various phases of the project. How these extraction and use are carried out is a critical component of automating the design review process. The chief goal is to address this issue by developing a Generalized Adaptive Framework (GAF) for a neutral data standard (Industry Foundation Classes (IFC)) that enables automating the code compliance checking processes to achieve design efficiency and cost-effectiveness. The objectives of this study comprise i) to develop a theoretical background to an adaptive framework that supports a neutral data standard for transforming the written code regulations and rules into a computable model, and ii) to define the various modules required for computerizing of the code compliance verification process.


Introduction
Design review is the process of evaluating a design against its requirements to verify the quality and performance of the design and identify issues before construction takes place. In the Architecture, Engineering, and Construction (AEC) industry, this process is referred to as the Code Compliance Checking (CCC) process. The main goals of this process are to ensure quality, cost-effectiveness and prevent failure of the designed system. Presently AEC industries are becoming increasingly sophisticated, thus, the issue of identifying design defects and shortcomings before assembly and implementation is becoming even more problematic. This is true almost for all engineering design domains, from urban design, aerospace, mechanical, to building and construction engineering. The CCC Process is the primary method used to address this problem by critically assessing all aspects of the design through careful examination of requirements compliance, verification, and analyses.
The design review process is normally conducted at each phase of the design, from the conceptual to the final stage of construction documents. These series of reviews or CCC processes take a progressions and open-ended range of exceptions that make it difficult to give exact definitions for any concepts that are learned through experience.

A Brief Review of Recent Researches
This issue of automating rules and regulations checking has interested many researchers and practitioners over the years. The first successful effort to automate design compliance is demonstrated by the work of Fenv [6], when he investigated the application of decision tables to represent the AISC (American Institute of Steel Construction) standard specifications. He remarked that decision tables, If-Then-novel programming, and the program documentation technique, could be used to represent design standard provisions in a precise and unambiguous form. The concept was set to practical application in the 1969 AISC Specification. It was expressed as a set of interrelated decision tables. Later, other researchers tried to build on Fenv work such as Lopez et al., who implemented the SICAD (Standards Interface for Computer Aided Design system [7,8]. The SICAD system was a software prototype developed to demonstrate the checking of designed components as described in application program databases for conformance with design standards. The SICAD concepts were in production use in the AASHTO Bridge Design System [9]. Garrett developed the Standards Processing Expert (SPEX) system [10] using a standard-independent approach for sizing and proportioning structural member cross-sections. The system reasoned with the model of a design standard, represented using SICAD system representation, to generate a set of constraints on a set of essential data items that describe the attributes of a design to be determined.
In summary, over 400 relevant research studies are focusing on automating building codes compliances for design review, traversing more than 40 decades that can be identified. Some of the key recent investigations are summarized in Table 1. Most of these suggested methods are backbox or gray-box approaches. Some of these studies are generally associated with a specific domain, such as spatial assessment, structural integrity, safety, energy usage and so on. Some of them offer a certain degree of customization to modify the parameters of each rule to match specific local regulations. Once the rule structure has been encoded, it is available for multiple similar projects. In general, these systems can be classified into three main types of platforms for automated code compliance checking systems: -As a software application integrated with a specific design tool, such as a plug-in. It is accessible to verify current model during the design process; -As a stand-alone software application detached from the modeling tools. An example of this platform would be Solibri Model Checker (SMC), which has its rule engine that can work on multiple models; -As a web-based application which can be available to verify designs from various sources. Table 1. Summary of recent studies related to automating design rules compliance checking. [11][12][13] Domain-specific approaches for automatic review of building models.

Reference Method Description Limitations
Domain-specific. No support for the open standard. No methods to deal with ambiguous information. [14,15] Proposed Deontic conceptualization and logic for representing regulations along with Natural Language Processing (NLP).
No support for the open standard. No methods to deal with ambiguous information. [16] AI approach based on NLP techniques for Turkish fire egress codes.
Only applicable for fire egress code. Does not support IFC data schema. [1,[17][18][19][20][21][22][23][24] Logic rules for expression shared ontologies for semantic representation of building regulations. As evident from the literature review, most of the proposed systems for automated code compliance auditing are based on proprietary or hard-coded rule-based representations, which may be successful in their domain implementations, but they have many drawbacks related to cost, maintenance and flexibility when used in automating building design review process. This project seeks to develop a new framework that addresses the shortcomings of the existing approaches by providing a computable model with explicit syntax and semantics that can be used to represent and reason about building regulations and provisions based on the neutral data format. Furthermore, the framework offers an object-based representation of building regulations, defines the minimum amount of data required to enable optimum Automatic CCC (ACCC) process.

Statement of Purpose
Currently, the manual design review process is time-consuming, error prone, and becoming very costly to sustain. The reasons behind these issues include: (a) increase rate of updates of regulations and standards with new knowledge and research outcomes; (b) new, state of the art technologies, equipment and devices; (c) higher amount of data and its multidisciplinary nature; and (d) increase in hardware/software communications complexity. Moreover, in building design, other issues associated with the manual CCC are lack of consistency in interpretation of regulatory provisions, the ability to properly self-check required aspects before bidding, and the long time needed for approvals of construction permits by building authorities that can have adverse financial impacts on projects.
The cited methods for automated rules compliance auditing in building design are either based on proprietary frameworks, domain-specific areas, or hard-coded rule-based representations. These approaches may be useful in their specific implementations. Nonetheless, they have the disadvantages of being costly to maintain, difficult to change, and the absence of a generalized framework of rules and regulations modeling that can adapt to various domains, and thus don't support an open neutral standard. Furthermore, the current methods lack the means to deal with subjective and ambiguous building regulations. Most of these systems have not endured the test of industry applications.

Goals and Objectives
This research proposes a new approach that addresses the shortcomings of the cited methods. The primary goal is the development of a Generalized Adaptive Framework (GAF) that enables ACCC. The objectives of this research comprise: (1) the development of the theoretical background of a framework that is adaptive to the target domain and supports an open standard for transmuting the written code provisions into computable representations; (2) generating algorithms for the data exchanges between the components of the framework to execute the virtual review process of a building design in order to achieve design accuracy and cost-effectiveness. Figure 1 depicts the components and stages of the framework development process. In particular, the framework centers on the following levels of development for the ACCC process:

Output Reports
High-Order Level I Figure 1. The Generalized Adaptive Framework for Automated Code Compliance Checking.

Transformation Reasoning Algorithm (TRA)
The TRA introduces the taxonomy for the building regulations knowledge followed by the conceptualization process. Subsequently, knowledge created will be transformed to a new formalized form to deduce various facts to carry out automated reasoning. For example, regulation or provision Xi will be transformed into a concept Yi using TRA principles [3]. TRA taxonomy describes the following major concepts: Content (Ci); Provisory (Pi); Dependent (Di); Ambiguous (Ai) Exceptions (Ei); and Alternatives (Alti).
Contents (Ci… Cn) are the sections of the building codes and regulations that cannot be transformed into object rules. These clauses are usually devoted to definitions, such as the definition of types of loads, firewall, fire rate, smoke evacuation, high-rise building, etc. For instance, the live These concepts can then be modified, combined or decomposed to enable a computable depiction of design regulations and standards. Knowledge concepts Xi can be transformed or integrated with another concept into Yi, and then Yi can be transmuted into Zi to enable efficient computable representation. Thus, the TRA is defined as the conceptualization of knowledge representation by mapping design regulations into sets of object rules. Figures 2 and 3 are pictorial descriptions of the TRA for building design regulations.  Building design regulations will be classified using the taxonomy defined earlier and can also be translated into conceptual representations that closely approximate the meaning of the building code provision. These figurative structures can then be transformed and manipulated to deduce various facts and rules to carry out automated compliance validation. The TRA is partially driven from the first-order logic calculus. Table 1 depicts a summary of the syntax for the TRA.  (B) High-Order Level II: Requires the Development Model View Definition (MVD), leading to Industry Foundation Classes (IFC) schema of the information obtained from phase A. The final data format is ifcXML representation. IfcXML is defined as the XML equivalent to the EXPRESS based specification of the IFC data model.
(C) Higher-order level III: The development of feature extraction algorithm for all objective data (unambiguous data) leading to full translation into the object-based model. This extraction and transformation will lead to ifcXML data object model (see Figure 1).
(D) Lower-order level: Necessitates feature extraction of uncertain data, then employing an algorithm for partial translation using fuzzy logic and approximate reasoning methods. Fuzzy logic provides a means of expressing linguistic rules in such a form that they can be combined into a coherent reasoning model. Such a model consists of three main parts: (i) fuzzification, (ii) inference engine (fuzzy rule base), and (iii) defuzzification (the process of transforming the aggregation result into a crisp output). The resulting data model from this phase is projected to be in ifcXML.
(E) The execution phase, which carries out the communications between the different layers of development. This encompasses the design of algorithms linking the data from (B), (C), (D) and the BIM model. These algorithms will be based on Language-integrated Query (LINQ) programming objects to extract, access and link BIM and regulations data via ifcXML [2]. Also, this phase will produce various output reports such as 2D, 3D views showing objects that are in noncompliance along with the detailed information about the regulation.
The theoretical development of the proposed GAF is based on the framework depicted in Figure 1. The objectives of the framework involve determining the requirements for an interpretation process where the semantic structure of each rule is translated into object expressions or parametric models using the Transformation Reasoning Algorithm (TRA) that would lead to neutral data format such as the Industry Foundation Classes (IFC) data schema. Moreover, the framework outlines the development of algorithms to link these representations and relate to the BIM data being examined.

Transformation Reasoning Algorithm (TRA)
The TRA introduces the taxonomy for the building regulations knowledge followed by the conceptualization process. Subsequently, knowledge created will be transformed to a new formalized form to deduce various facts to carry out automated reasoning. For example, regulation or provision X i will be transformed into a concept Y i using TRA principles [3]. TRA taxonomy describes the following major concepts: Content (C i ); Provisory (P i ); Dependent (D i ); Ambiguous (A i ) Exceptions (E i ); and Alternatives (Alt i ).
Contents (C i . . . C n ) are the sections of the building codes and regulations that cannot be transformed into object rules. These clauses are usually devoted to definitions, such as the definition of types of loads, firewall, fire rate, smoke evacuation, high-rise building, etc. For instance, the live load is defined by the ASCE7-10 standard as: "A load produced by the use and occupancy of the building or other structure that does not include construction or environmental loads, such as wind load, snow load, rain load, earthquake load, flood load, or dead load". Provisory (P i . . . P n ) are clauses of the regulations that can be transformed from the textual format into a set of object rules. Examples of such clauses are prevalent, and typical structures include rules with specific values such as those given in tables or equations in the building regulations.
Dependent (D i . . . D n ) clauses specify that one clause is reliant on one or more other provisions. This means that some requirements are only appropriate for a specific condition when other clauses are satisfied. These clauses generally contain provisory clauses (P i . . . P n ) and are often challenging to transform into sets of immediate object rules. These sections quite often may require manual checking for compliance. For instance, in Florida Building Code (FBC 2017), Section 503.1 regarding building height and area, states that "The building height and area shall not exceed the limits specified in Table  503 based on the type of construction as determined by Section 602 and the occupancies as determined by Section 302 except as modified hereafter. Each portion of a build separated by one or more firewalls complying with Section 706 shall be a separate building.".
Ambiguous (A i . . . A n ) clauses are the vague or inexact provisions that would need an expert judgment to be evaluated. They usually include words such as: approximately, about, relatively, close to, far from, maybe, etc. An example of such a provision is the footnote of the design lateral soil pressure for the clause given in ASCE 7-10: "For relatively rigid walls, as when braced by floors, the design lateral soil load shall be increased for sand and gravel type soils to 60 psf (9.43 kPa) per foot (meter) of depth. Basement walls extending not more than 8 ft (2.44 m) below grade and supporting light floor systems are not considered as being relatively rigid walls." This concept covers all regulations that are not capable of being computerized and some of them may have to be rewritten to enable implementation in an automated compliance auditing environment. Interpretation and rewriting both must adhere to understanding terms from both the legal and construction perspectives.
Exceptions (E i . . . E n ) are the clauses that a specific provision excludes. For example, in Florida Building Code 2017-Residential (FBC 2017-R), Section 305.1 (minimum room heights) apply for habitable spaces with three exceptions covering rooms with a sloped roof, the ceiling height above the bathroom, and obstructions in basements containing habitable spaces.
Alternatives (Alt i . . . Alt n ) are the alternative code provisions that may apply to a specific regulations. For instance, in the FBC 2017-R, the requirements in Section 301.1 (design criteria application) have the following alternative standards (subject to FBC limitations): that can be used. These concepts can then be modified, combined or decomposed to enable a computable depiction of design regulations and standards. Knowledge concepts X i can be transformed or integrated with another concept into Y i , and then Y i can be transmuted into Z i to enable efficient computable representation. Thus, the TRA is defined as the conceptualization of knowledge representation by mapping design regulations into sets of object rules. Figures 2 and 3 are pictorial descriptions of the TRA for building design regulations.
Building design regulations will be classified using the taxonomy defined earlier and can also be translated into conceptual representations that closely approximate the meaning of the building code provision. These figurative structures can then be transformed and manipulated to deduce various facts and rules to carry out automated compliance validation. The TRA is partially driven from the first-order logic calculus. Table 2 depicts a summary of the syntax for the TRA.

Example
The TRA can be exemplified further by considering the Florida Building Code 2017 -Residential (FBC 2017 -R). Figure 4 depicts a section from the FBC 2017-Residential. The provision shown in Figure 4 can be transformed into computable representations using the TRA as follows: An example of imprecise building code provisions can be found in section R322.1 of FBC 2017-Residential (see Figure 5). In this provision, the regulations states: "Buildings and structures constructed in whole or in part in flood hazard areas, including A or V Zones and Coastal A Zones, as established in Table R301.2(1), and substantial improvement and restoration of substantial damage of buildings and structures in flood hazard areas, shall be designed and constructed in accordance with the provisions contained in this section." The word substantial is not defined precisely. Using the TRA, then we have REG2 = "Section R322"; then we have: (C2 ∧ A2) designates that this is a content clause with ambiguous statements describing flood resistance construction (Y2) which is given by X2 that describes the several conditions unfolding Y2.

R305.1 Minimum height.
Habitable space, hallways and portions of basements containing these spaces shall have a ceiling height of not less than 7 feet (2134 mm). Bathrooms, toilet rooms and laundry rooms shall have a ceiling height of not less than 6 feet 8 inches (2032 mm).

Exceptions:
1. For rooms with sloped ceilings, the required floor area of the room shall have a ceiling height of not less than 5 feet (1524 mm) and not less than 50 percent of the required floor area shall have a ceiling height of not less than 7 feet (2134 mm).
2. The ceiling height above bathroom and toilet room fixtures shall be such that the fixture is capable of being used for its intended purpose. A shower or tub equipped with a showerhead shall have a ceiling height of not less than 6 feet 8 inches (2032 mm) above an area of not less than 30 inches

R305.1.1 Basements.
Portions of basements that do not contain habitable space or hallways shall have a ceiling height of not less than 6 feet 8 inches (2032 mm). Let REG i = "Section R305"; Where i varies from 1 to n number of code provisions. Then we have where the subscript i stands for the counts of the code sections being processed and varies from 1 to n sections. P i designates that this is a provisory clause, and describes the minimum room area (Y i ) which is given by X i that expresses the various Rules describing Y i : where, R 1 , R 2 , . . . R m are the rules defining X i .
Equation (15) expresses section R305 of FBC 2017 -R using TRA. An example of imprecise building code provisions can be found in section R322.1 of FBC 2017-Residential (see Figure 5). In this provision, the regulations states: "Buildings and structures constructed in whole or in part in flood hazard areas, including A or V Zones and Coastal A Zones, as established in Table R301.2(1), and substantial improvement and restoration of substantial damage of buildings and structures in flood hazard areas, shall be designed and constructed in accordance with the provisions contained in this section." The word substantial is not defined precisely. Using the TRA, then we have REG 2 = "Section R322"; then we have: Buildings 2019, 9, x FOR PEER REVIEW 11 of 17 as: A is a fuzzy subset of the universe of discourse U, is characterized by a membership function μA: U [0…1] which associates with each element u of U a number μA (u) in the interval [0,1]. This definition can be employed to define a fuzzy predicate. The truth-value of any proposition can be evaluated as the degree of membership of the responding fuzzy relation. Thus, a fuzzy predicate can be considered as the membership function of a fuzzy relation over individual variables' universe of discourse. Each fuzzy predicate characterizes a concept in the TRA. For instance, the building damage stated in section R322 can be represented as a fuzzy variable taking values delineated in Figure 6. In this figure, the x-axis is the degree of building damage (u), while the y-axis represents the membership functioning values μA (u). These variables comprise small damage, medium damage, and substantial damage. These descriptions can be determined from experience or given by local guidelines. Now, let z23 = a fuzzy variable defined by where, 0 ≤ µA(u) ≤ 1 Next, section R322 of FBC 2017-Residential is transformed into the following rule: and finally, Equation (24) signifies section R322 of FBC 2017 -R using the TRA. Engineering design codes do rather frequently use such vague terms to describe certain conditions. Table 2 recapitulates some of these terms and their transformation using a fuzzy predicate. For example, the fuzzy term "very little damage" in Table 2 is represented graphically by Figure 6a. This figure describes building damages in the range of 0% to 20%. The membership function has a maximum value of 1.0 for the degree of damages from 0% to 10% and then decreases linearly to 0 for a degree of damage of 20%.

R322.1General.
Buildings and structures constructed in whole or in part in flood hazard areas, including A or V Zones and Coastal A Zones, as established in Table R301.2(1), and substantial improvement and restoration of substantial damage of buildings and structures in flood hazard areas, shall be designed and constructed in accordance with the provisions contained in this section. Buildings and structures that are located in more than one flood hazard area shall comply with the provisions associated with the most restrictive flood hazard area. Buildings and structures located in whole or in part in identified floodways shall be designed and constructed in accordance with ASCE 24.

R322.1.1Alternative provisions.
As an alternative to the requirements in Section R322, ASCE 24 is permitted subject to the limitations of this code and the limitations therein. (C 2 ∧ A 2 ) designates that this is a content clause with ambiguous statements describing flood resistance construction (Y 2 ) which is given by X 2 that describes the several conditions unfolding Y 2 .
Let Z 2j = {z 21 , . . . , z 2q }; z = IfcBuilding; z 21 = "FBC 2017 -R322"; z 22 = "ASCE 24" (18) REG 2 ::♦ z 22 (19) R 1 : ∀ z (InFloodZone(z) → RequiredProvision (z, z 21 )) (20) Next step is to conceptualize the term "substantial damage." The TRA proposes fuzzy logic and predicates to transmute the concept into a rule expression. A fuzzy set is described by reference [35] as: A is a fuzzy subset of the universe of discourse U, is characterized by a membership function µ A : U → [0 . . . 1] which associates with each element u of U a number µ A (u) in the interval [0,1]. This definition can be employed to define a fuzzy predicate. The truth-value of any proposition can be evaluated as the degree of membership of the responding fuzzy relation. Thus, a fuzzy predicate can be considered as the membership function of a fuzzy relation over individual variables' universe of discourse. Each fuzzy predicate characterizes a concept in the TRA. For instance, the building damage stated in section R322 can be represented as a fuzzy variable taking values delineated in Figure 6. In this figure, the x-axis is the degree of building damage (u), while the y-axis represents the membership functioning values µ A (u). These variables comprise small damage, medium damage, and substantial damage. These descriptions can be determined from experience or given by local guidelines. Now, let z 23 = a fuzzy variable defined by where, 0 ≤ µ A (u) ≤ 1.
Next, section R322 of FBC 2017-Residential is transformed into the following rule: and finally, Equation (24) signifies section R322 of FBC 2017 -R using the TRA. Engineering design codes do rather frequently use such vague terms to describe certain conditions. Table 3 recapitulates some of these terms and their transformation using a fuzzy predicate. For example, the fuzzy term "very little damage" in Table 3 is represented graphically by Figure 6a. This figure describes building damages in the range of 0% to 20%. The membership function has a maximum value of 1.0 for the degree of damages from 0% to 10% and then decreases linearly to 0 for a degree of damage of 20%.

Implementation Algorithms
This phase addresses designing and implanting data communicating algorithms for exchanging and presenting the results of the proposed GAF framework. It utilizes Language-integrated Query (LINQ) programming objects to extract, access and link BIM and regulations data via ifcXML [2]. Figure 7 delineates a part of the proposed algorithms. The implementing of the IFC standard using XML (eXtensible Markup Language) technologies is known as ifcXML. It is an extension of the existing IFC data format. It focuses on the specifics of the ifcXML specification compared to the standard EXPRESS based IFC object data model. The ifcXML data files are given the extension ".xml" or alternatively ".ifcxml". Figure 8 depicts the process of generating an ifcXML data file.  Table 3. Common ambiguous terms in building regulations.

Implementation Algorithms
This phase addresses designing and implanting data communicating algorithms for exchanging and presenting the results of the proposed GAF framework. It utilizes Language-integrated Query (LINQ) programming objects to extract, access and link BIM and regulations data via ifcXML [2]. Figure 7 delineates a part of the proposed algorithms. The implementing of the IFC standard using XML (eXtensible Markup Language) technologies is known as ifcXML. It is an extension of the existing IFC data format. It focuses on the specifics of the ifcXML specification compared to the standard EXPRESS based IFC object data model. The ifcXML data files are given the extension ".xml" or alternatively ".ifcxml". Figure 8 depicts the process of generating an ifcXML data file. To provide evidence for the Proof of Concept (POC), a two-story building is considered in a typical design review process examining regulations and provisions from FBC-R 2017. The building is the duplex apartment model that is provided by the BuildingSmart Alliance website and delineated in Figure 9. Some of the Ifc objects that will be involved in this example are illustrated in Figure 10.
In this construction, the ifcSpace functions as the primary object and is essential to configure the spatial structure of a building. The spatial structure elements are connected by using the object relationship ifcRelAggregates. Moreover, it offers additional functions such as serving as the spatial container for space-related elements. Space is normally linked to a building storey (or in case of exterior spaces to a site). Space can cover several connected spaces. Thus, a space group provides a collection of spaces included in a building story. Space may also be fragmented into elements, where each element defines a partial space. This is defined by the composition type attribute of the supertype ifcSpatialStructureElement. To provide evidence for the Proof of Concept (POC), a two-story building is considered in a typical design review process examining regulations and provisions from FBC-R 2017. The building is the duplex apartment model that is provided by the BuildingSmart Alliance website and delineated in Figure 9. Some of the Ifc objects that will be involved in this example are illustrated in Figure 10.
In this construction, the ifcSpace functions as the primary object and is essential to configure the spatial structure of a building. The spatial structure elements are connected by using the object relationship ifcRelAggregates. Moreover, it offers additional functions such as serving as the spatial container for space-related elements. Space is normally linked to a building storey (or in case of exterior spaces to a site). Space can cover several connected spaces. Thus, a space group provides a collection of spaces included in a building story. Space may also be fragmented into elements, where each element defines a partial space. This is defined by the composition type attribute of the supertype ifcSpatialStructureElement. To provide evidence for the Proof of Concept (POC), a two-story building is considered in a typical design review process examining regulations and provisions from FBC-R 2017. The building is the duplex apartment model that is provided by the BuildingSmart Alliance website and delineated in Figure 9. Some of the Ifc objects that will be involved in this example are illustrated in Figure 10.     In this construction, the ifcSpace functions as the primary object and is essential to configure the spatial structure of a building. The spatial structure elements are connected by using the object relationship ifcRelAggregates. Moreover, it offers additional functions such as serving as the spatial container for space-related elements. Space is normally linked to a building storey (or in case of exterior spaces to a site). Space can cover several connected spaces. Thus, a space group provides a collection of spaces included in a building story. Space may also be fragmented into elements, where each element defines a partial space. This is defined by the composition type attribute of the supertype ifcSpatialStructureElement. Figure 7 displays a part of the C# code of the proposed GAF. Line 1 in Figure 6 reads the data from the ifcXML file of the BIM model of the building shown in Figure 9. Lines 8 to 17 determine the floor and areas and the height of each space in the building. Line 19 in Figure 11 reads the code provisions from the ifcXML data file of the FBC 2017. In Figure 11 Figure 12a delineates the results of checking the areas of the spaces in the example building shown in Figure 9 using the GAF. Figure 12b illustrates the floor plan view of level 1 of the duplex apartment building (see Figure 9) being used for this example of automated compliance verification of Florida's residential building regulations.
Buildings 2019, 9, x FOR PEER REVIEW 15 of 17 Figure 11. A part of the implementation algorithm. Figure 12a delineates the results of checking the areas of the spaces in the example building shown in Figure 9 using the GAF. Figure 12b illustrates the floor plan view of level 1 of the duplex apartment building (see Figure 9) being used for this example of automated compliance verification of Florida's residential building regulations.

Conclusions
The computerization of the code compliance checking process presents a challenge for the AEC industry. This is greatly attributed to the fact that many sections of the building rules take the form of written texts. The present approaches for computerization or semi-computerization of rules compliance verification used in a design review are either based on proprietary, domain-specific or hard-coded rule expressions, which can be successful in their specific applications. Nonetheless, most of these methods are expensive to maintain, inflexible to change, the absence of a comprehensive framework of regulations modeling that can adapt to various domains, and thus they lack IFC standard support. This paper offers a generalized adaptive framework (GAF) for automating or semi-automating the code compliance verification process which is based on an object-driven representation of building rules that can deal with certain and uncertain data and transform code and standards

Conclusions
The computerization of the code compliance checking process presents a challenge for the AEC industry. This is greatly attributed to the fact that many sections of the building rules take the form of written texts. The present approaches for computerization or semi-computerization of rules compliance verification used in a design review are either based on proprietary, domain-specific or hard-coded rule expressions, which can be successful in their specific applications. Nonetheless, most of these methods are expensive to maintain, inflexible to change, the absence of a comprehensive framework of regulations modeling that can adapt to various domains, and thus they lack IFC standard support. This paper offers a generalized adaptive framework (GAF) for automating or semi-automating the code compliance verification process which is based on an object-driven representation of building rules that can deal with certain and uncertain data and transform code and standards regulations into computable expressions using the Transformation Reasoning Algorithm (TRA). The framework is flexible and can adapt to various engineering design disciplines.
The paper introduces and delineates the various constituents of the proposed GAF and their relationships. The TRA introduces the taxonomy for the building regulations knowledge along with the conceptualization and transformation processes. Subsequently, knowledge created is a new formalized object representation that models objective and ambiguous building regulations and can deduce various facts to carry out automated reasoning. This approach minimizes the shortcomings of the cited methods by transforming objective and vague data of building code into a concise formal representation that can be mapped into IFC data schema.
The GAF provides communicating algorithms for exchanging data between the main components of the framework. It utilizes Language-integrated Query (LINQ) programming objects to extract, access and link BIM and regulations data via ifcXML. The application of the proposed GAF has been demonstrated using an example of a two-story building that is considered in a typical design review process, examining regulations and provisions from FBC-R 2017. Thus, it is expected that the research results will have broader impacts that include the enormous benefits to the AEC industry due to the consistency of the interpretation of regulatory provisions, the ability to self-check required aspects before bidding, the time and resources saved during design review, the optimum design, the quicker turnaround in feedback, and faster approvals for construction permits by building authorities.