# A Systematic Review of the Trends and Advances in IFC Schema Extensions for BIM Interoperability
## 3 Evolution, Architecture, and Implementation of the IFC Schema
### IDM and MVD for Software Implementation  
As seen in the example, the representation of basic physical elements, attributes, and their relations is mainly realized using three abstract entities, _IfcObjectDefinition_, _IfcRelationship_, and _IfcPropertyDefinition_, which are subclasses of the _IfcKernel_ entity (Figure 4).  
Physical elements are exclusive instances of the _IfcObjectDefinition_ entity or its subclasses and mainly reside in the shared layer. The _IfcRelationship_ entity has several predefined subclasses, as shown in Table 1, to qualify the different relational semantics. _IfcPropertyDefinition_ uses a set of subtypes to subscribe needed attributes to the subject entities. Specifically, property sets are used to define a set of predefined properties, which have individual value types. For example, _IfcWall_ has a predefined property set named Pset_WallCommon, which houses default parameters such as FireRating and LoadBearing. Quantities can be similarly defined using quantity sets.  
Thus, in software implementation, i.e., implementing an IFC for data exchanges between BIM applications only employs partials or fragments of the IFC schema. In practice, most transactions involve a sender application (which creates a native BIM model) and a receiver application (which needs to receive specific data and information from the original application). Such data exchange requirements are more formally defined using the information delivery manual (IDM) and model view definition (MVD) (Figure 5).  
\begin{table}
\begin{tabular}{c c} \hline \hline
**Predefined Subclasses** & **Description** \\ \hline _IfcRelAssigns_ & Expresses the relationships that are established when an object needs another object’s service \\ _IfcRelAssociates_ & Establishes an association between objects or properties and associated information \\ _IfcRelConnects_ & Defines connectivity relationships between objects \\ _IfcRelDeclares_ & Establishes an association between one-to-many objects or property templates and the associated information \\ _IfcRelDecomposes_ & Defines the general concept of elements being composed or decomposed \\ _IfcRelDefines_ & Defines the relationships between property set and objects \\ \hline \hline \end{tabular}
\end{table}
Table 1: Predefined subclasses of _IfcRelationship_[27].  
Figure 4: Subclasses hierarchy of _IfcKernel_.  
The IDM presents a comprehensive strategy, outlining the specifics of data exchange requirements throughout varying phases of a construction project. It addresses key aspects focusing on the who, what, when, and why of the information needed. This standardization of the information delivery process bolsters inter-stakeholder communication and cooperation while curtailing inconsistencies, duplications, and errors. IDM, as a methodology, effectively segments the expansive IFC schema into smaller, manageable, yet interconnected segments, thus enhancing its usability [28].  
The MVD delineates a specific subset of the IFC model specification, which is necessary for the information exchanges laid out in one or more associated IDMs. It crafts a tailored subset of the IFC schema in alignment with specific use cases or project prerequisites, thereby addressing the technical implementation considerations for an accurate representation in software applications. By identifying the requisite IFC entities, attributes, and relationships for each exchange scenario, MVD enhances the efficiency of information exchange. It ensures data compatibility and interoperability across diverse BIM applications [29].