OpenBIMRL | Introduction
What is OpenBIMRL
Idea & Origin
//Marcel\
OpenBIM Rule Language (OpenBIMRL) is introduced as an open data model.
The format is a solution for the current need of defining technical requirements for IFC based models in an open format. The language uses a directed graph-based approach for defining sets of rules, so that arbitrary functions can be linked as components and can be subsequently executed in a cascaded manner to retrieve geometric and semantic model information. The schema contains templates for defining generic functions (nodes) that are required to be implemented by rule checking applications to solve the specifics of the ruleset. Therefore, rulesets can be defined completely independent from any software implementation. The pre-calculation graph consists of three distinct types of node components, which are required for creating technical requirements. 1. Function Component, which are nodes that perform specific operations on incoming data. Each NodeType element defines a function component. 2. Identifier Component, which serves as a placeholder that transfer data from the graph- based calculation to the rule checking. These are referenced by RuleIdentifierTypes. 3. Input Component, which are nodes that allow direct data input, such as texts or numbers. These are designed to allow user interaction and are a special case of function components, therefore, also defined using NodeType elements. All nodes are connected by edges forming a directed acyclic graph (Figure 3). The edges represent the dataflow between nodes. An edge connects a specific output of a node (source) with an input of another node (target). Depending on the functionality, specific in- or output can be left open, meaning they are either optional or assumed to be default a certain value. The number of in- and outputs, their labels, the function name and namespace are essentially the signature of the node, which alone serves to distinguish between different implementations of certain functions. In addition, the nodes are provided with a unique identifier (e.g., a Universally Unique Identifier, UUID) that enables explicit identification and tracking of the implemented functional nodes. Standardization and unification of these functions will reinforce the reliability of the implemented rules in all applications that use the format.
GIT Project & Paper
Git Project: https://github.com/RUB-Informatik-im-Bauwesen/OpenBimRL
Paper: https://www.ucl.ac.uk/bartlett/construction/sites/bartlett_construction/files/5342.pdf