Automatically Creating HVAC Control Strategies Based on Building Information Modeling (BIM): Heat Provisioning and Distribution

Building Information Modeling (BIM) data are typically exchanged using the Industrial Foundation Classes (IFC) standard. An IFC-based BIM model is a container for data that is created during the design and planning phase and is therefore a rich source of information for the commissioning phase, in which building services are brought to operation. This paper examines the use of BIM data for automated generation of control strategies for energy systems, thus simplifying and accelerating the commissioning phase. We present a methodology to create control strategies of a building heating system with several variations of renewable energy systems and include both heat provisioning and a distribution system. The control goals include favoring the use of non-fossil energy, which is provided by a combination of photovoltaic system (PV), heat pump (HP) and industrial excess-heat source. Thermal energy storages are integrated for load shifting purposes and the control of the heat distribution system is designed towards the requirements of building physics, occupancy and outside climate conditions. A validation of the approach is presented in a combined SIMULINK and TRNSYS simulation environment.


Introduction
Automatic creation of control strategies is an approach to derive the operation of building systems using the information about the building's spatial information, its physical information (e.g., thermal properties) and the energy systems. These data are typically created in the planning phase of the building and can be stored in a BIM model, where all involved stakeholders can access and modify it. Well-known BIM planning tools such as Revit [1], Allplan [2] or ArchiCAD [3] use different proprietary data formats for internal storage, which makes accessing the data unfeasible. However, all of the above tools are capable of exporting data using the Industrial Foundation Classes (IFC) data format, standardized as ISO 16739 [4]. Therefore, this work uses IFC-based BIM data as its main data source.
Buildings are controlled on two levels: process control and building automation. While process control is mainly implemented by means of continuous, linear controllers (such as proportional-integral-derivative (PID) controllers), building automation implements discrete control strategies using textual or graphical programming tools to define system states and the conditions of when to enter and leave states, including definitions of setpoints for PID controllers and enabling conditions for sub-systems. Both building automation and control (BAC) systems are implemented in the commissioning phase and require information about the building and its system. The development process today foresees a control engineer to implement the BAC system based on the planning state that is handed over from the heating, ventilation and air conditioning (HVAC) planner. BIM has the potential to make this process far less tedious and erroneous. At the same time, a well-maintained BIM model contains the information that is needed to automate the implementation of a BAC system. This work derives the BAC creation process using IFC data as a foundation. It is based on the results of a previous paper [5] and extends the control strategy development beyond mere room automation to a more sophisticated and flexible system. Here, a thermal provisioning and distribution system for buildings is taken into account, where control strategies are developed for variable combinations of renewable and fossil energy sources. First, the IFC data are processed, including room properties such as volume, window positions, floor heating installations, etcetera. This information is used to create a control strategy, which consists of two parts: the energy provisioning system control that contains controllers for various energy provisioning components, and the distribution system control.

Building Automation and Control Strategy Creation
Building automation originates from industrial automation and had its earliest building implementation in heating, ventilation and air conditioning (HVAC) systems-the American ASHRAE Society is still the prevalent organization with regard to standards, methods and protocols in the area of building systems, indoor comfort and energy efficiency of buildings (see e.g., [6]). Building automation operates on linear controllers, as process controllers, with an automation layer to implement supervisory control by defining system states and the transitions between them by means of logic conditions. This combination of traditional logic and continuous control is at the center of this work. In recent decades, approaches were made to develop self-adjusting controllers, such as adapting two-point controllers [7], though this method neither considers the great impact of solar radiation nor can it be used for testing the controller s performance during planning phase. That may lead to a too high temperature yield and thus higher energy consumption [8].
Developing and parametrizing control strategies for HVAC systems of larger buildings make for a complex topic. Katipamula et al. [9] investigated the influence of different control strategies, including varying indoor temperature setpoints and pre-cooling, which were based on a state-space model of a single-family house. However, they focused on another type of building, and did not inspect the provisioning side of a heating system and their strategy as well as its parametrization needed to be made by hand. Song et al. [10] discussed different control systems for improving indoor air quality, but did not take care of the overall control strategy to reduce the buildings' energy consumption and the interaction between different sub-systems within the overall HVAC system. Yang et al. [11] described a method to improve the energy efficiency of a ventilating system by using swarm intelligence. However, within this method the temperature and the indoor air quality of a single room is controlled by the ventilation system, which is uncommon for modern buildings. Further, the results of this method are non-classical control strategies, much more a single room controller and based on a handmade room model. Erickson et al. [12] implemented a control strategy based on a Markov Chain Occupancy Prediction Model. Using this method, two main problems may occur: if the prediction fails, the control strategy will not be able to perform as wished and the desired results will not be reached. Furthermore, the model was handmade too, which is not useful for the task within the present work.
While the existing methods for improving control strategies of HVAC systems provide good results, there is still a need for further research to address the following challenges that the combined provisioning and distribution sides face: • Handmade models and optimizations, as well as manually parametrized controllers, are not feasible for broad diffusion into the wide variability of existing automation systems due to cost reasons. • An automation methodology needs to be able to handle different HVAC variants. This calls for a generalized approach to efficiently implement this automation.

•
Fallback solutions need to be implemented in order to provide a stable control strategy; otherwise, the development will not be appropriate for usage within existing real-world buildings.

•
The current state of research does not discuss the automated development of control strategies for the provisioning side with different variants of renewable and non-renewable energy systems.

•
The distribution side influences the provisioning side directly. Therefore, a control strategy needs to regard this physical feedback in its design.

BIM Data Availability and Organization
Standardization of BIM data has advanced in recent years and covers architectural design information as well as building physics data. Architectural design is well-developed, focusing on geometric properties to create the building envelope as well as the floor-plan layout of a building. A key factor for extending the use of BIM beyond mere 3D-modeling is the use of the meta-data that is defined for each IFC element. Basic elements such as an IFCWall have geometric properties including NominalLength, NominalWidth, NominalHeight or GrossVolume [13]; but they also have, for example, thermal properties, which are required when running thermal simulations on a BIM model: in an attached IfcThermalMaterialProperties element, an IFCWall can define thermal transmittance, specific heat capacity and other parameters. Similarly, lighting simulation requires the definition of additional properties for windows and artificial light sources.
For energy provisioning systems, the geometric properties of components are negligible compared to the meta-data that define the functionality of a component. Since BIM-based modeling has its origin in 3D-drawings, this aspect is not yet as developed as geometric properties are. However, development and standardization are continuing. The core standard is IFC [4], which is extended by libraries such as the buildingSmart Data Dictionary (bsDD) [14] on ISO level or national dictionaries such as the Austrian ON A 6241-1 [15]. The latest standard is the ISO 23386 standard, which was published in 2020 [16] and supports the definition of data templates, which contain relevant information for components and cover a broad range of building service components. For the time being, this shortcoming is addressed by augmenting the IFC data with additional auxiliary data (Section 3).
Still, this collection of standards does not fully specify the information of a BIM model; it merely defines the structure of data, but not the content. Material properties, for example, are defined as opaque strings, leaving the content open to the defined by the person or the authoring tool. Planners and architects address this issue by defining modeling guidelines on how to set parameter values and how to name components. These guidelines are proprietary to one architectural office or one developer and therefore cause problems when cooperating over company borders in an open BIM planning and construction process. At the moment, this problem remains unaddressed and would require much more elaborated standardization. An upcoming development is the Employer's Information Requirements (EIR), which shall define standard methods regarding how information is created and named. A first coverage of the EIR is available in ISO 19650 [17], an ISO standard that was derived from the British publicly available specification (PAS) 1192 that provides a general description on how to manage information in BIM over the lifecycle of a building.

Potentials for Optimization
As elaborated in Section 2.1, current HVAC systems are usually developed based on the expertise of HVAC planners and control engineers and do not have a high degree of automation. Cost planning often follows a standardized costing scheme, such as the German Deutsche Industrie Norm (DIN) 276 [18] or the statement of work for building services by the Austrian Ministry of Digital and Economic Affairs [19]. In this cost schema the distribution side is described in view of room automation, regarding costs, e.g., for the commissioning of data points and definition of setpoints, but not for the programming of control strategies. On the provisioning side there is a need for freely programmed control strategies for the energy system, which is reflected as a separate cost item. This is where the control engineer needs to analyze the schematics (hydraulics, sensors, actuators, etc.) and derive a feasible control strategy.
The costs for building automation depend on the type of project, the involved companies and the level of automation. According to [20], costs in the commissioning phase amount to 2-3% of the total costs of the mechanical systems. Based on the information gained from expert interviews, the costs for building automation range between 2% and 9% of the overall project volume. As an example: a typical office building with 2000 m 2 office space, 600 data points and a total volume of 6 million EUR requires approximately EUR 450,000 for automation hardware and software, with the costs being roughly equally split between hardware and engineering (including 60% budget for programming, 30% for commissioning and 30% for integration). The methodology presented in this paper automates the control strategy programming by using building model data and thus reduces programming efforts. In addition, it is possible to quickly react to changes in the specifications by triggering a rerun of the algorithm based on the updated model data.

Model Development
The provided IFC model is the base for the subsequent control generation. Using this data, different heating zones are identified as well as the heat provisioning systems therein. As shown in Section 2.2, the energy distribution side is quite well described within the current IFC standards, however, the provisioning side is still barely defined. Hence, auxiliary data are needed for filling these information gaps. For the scope of this work, the necessary information about energy provisioning systems, such as a heat pump or gas burner, are therefore defined in an auxiliary data file. This will collaborate well with future workflows, since the standard ISO 23386 [16] provides an excellent template for building service components once manufacturers have adapted their product data to the new standard. For the scope of this work, we have defined auxiliary data to provide this information for the following components: heat pumps, thermal energy storages, natural gas-fired boilers, photovoltaic systems, valves, pumps and their interconnection as well as their integration into the overall heating system. It is expected to use the current workflow and abandon the auxiliary data file with only minor adaptations once the ISO 23386 standard is fully adopted. Section 3.2 describes the provisioning system components and their necessary parameters in more detail.
Aside from this component-related information, the creation of control strategies needs additional auxiliary data: • Setpoints for room automation and energy provisioning systems: These data are typically created during detailed planning phase and implemented in the commissioning phase. Each room is assigned setpoints for temperature, humidity, airflow, etcetera. Additionally, the supply and return temperatures for the heating and cooling system, as well as the ventilation system, are defined.

•
Occupancy profiles: Offices, meeting rooms, common areas and other zones have specific usages that have to be defined in terms of "persons per room". This also includes the typical occupancy periods reflected as time schedules for the different zones.

•
Outside climate data: Temperature and humidity profiles for the given location are required for defining the default operation of the room controllers and the controllers of the energy provisioning system.
The data provided here reflect only the design guidelines for a building, i.e., the heating system has to be dimensioned so that it can provide indoor comfort on the coldest day at the building location. In daily operation, it is the task of the building automation system to react to the actual conditions in terms of outside temperature or occupancy.

Building Physics and Distribution System
An earlier publication deals with filtering the IFC data to obtain the necessary information about the floorplan, the separation into rooms and thermal zones, and the information on how the distribution system is linked to the floorplan [5]. Since the BIM models that were examined have proven to be incomplete and inconsistent, an algorithm was developed to create a consistent floorplan layout and distribution system. Within this algorithm, data gaps were closed and the walls (ifcWall) were aligned to rooms (ifcSpace). Using the material information in the IFC elements, it was possible to create a thermal model of the building.
Based on this previous work, the heating distributing system was identified by extending the algorithm to extract also the heating system components, taking the following steps:
Creating a 3D net based on the geometric data of the specific floors for the whole heating distributing system. A parental net is defined by the first pipe element found on this floor. Two levels are spanned, defined by the highest and the lowest points of the net including a determined hysteresis. All elements located between these two points are assigned to the respective net 3.
Subdividing the net based on the geometric data of ifcSpace elements. This division is named children nets 4.
Fitting the identified elements into the children nets to check for gaps 6.
Integrating all children nets into the parental net 7.
Checking for vertical pipes, which are connecting different floors with each other 8.
Subdividing into heating zones by using the origin of the energy provisioning system 9.
Assigning setpoints and occupancy profiles to heating zones based on ifcPropertySet elements and corresponding entities.
The result of these steps is a net describing the heat distribution system, which contains all relevant components; it also identifies which heating zones belong to which heat supply components. Secondly, all heating zones are detected by the position of the actuators and the sensors: all rooms that are supplied after the last flow-regulating actuator are combined into one heating zone, since these rooms cannot be controlled separately afterwards. This results in a set of data for all existing heating zones, which contains all available sensors, actuators, setpoints and occupancy profiles. In combination with the heat provisioning system, this set is used to create control strategies fully automatically, as shown in Section 4.

Energy Provisioning System
Building energy systems consist of a combination of energy provisioning and storage components which are physically connected by a transport medium (typically water, with a link to the air-based ventilation system). The components can be classified into different, common types, which are found in many buildings. While the components are rather standardized, the hydraulic connections depend on the design intent of the planner and can vary in their realization. Figure 1 shows a superstructure which covers all feasible variants of heat provisioning systems. For the sake of brevity, a few assumptions had to be made in the scope of this work; for once, only the heating case without hot tap water supply is regarded. The cooling case is intentionally left out, since it would require too many additional components and hydraulic connections to be covered here. With regard to distribution systems, only a low-temperature floor heating system is available, leaving out high temperature radiators. In addition, only the most common energy components are included in order not to inflate system complexity. That being said, the superstructure in Figure 1 and its variations cover a broad set of real-world energy system configurations: different components can be removed to achieve the desired configuration, i.e., the energy system at hand is created by removing components that are not needed.
Energies 2020, 13, x FOR PEER REVIEW 6 of 19 use the raised temperature of a heat pump as a return source instead of the return flow of the thermal energy storage. Sensors and actuators are not shown since they may differ depending on the configuration. Section 4 then explains how a control strategy is created based on a derivative of this superstructure. While IFC exports contain most of the required data of the distribution system, the energy provisioning system requires additional data. Basically, three different types of information are needed: 1. Equipment types (heat pumps, thermal energy storages, natural gas-fired boilers, photovoltaic system, actuators, sensors, etc.). 2. Equipment data a. Design points of heat pumps (electrical as well as thermal source and sink power at specific input and output temperatures) b. Basic information of heat pumps (maximum thermal power, used liquid on both sides including their thermal data) c. Basic information of thermal energy storages (heat loss coefficients, conductivity, volume, diameter) d. Basic information of natural gas-fired boilers (efficiency curve, maximum thermal power) e. Basic information of photovoltaic systems (open circuit and short circuit voltages and currents, maximum power data, number of cells, number of modules) f.
Positions and types of actuators as well as sensors and their parameters (maximum volume flow, etc.).

Equipment connections (both physical flows and information flows).
If this information is available in IFC and is in accordance to standardized naming, it is fetched from the IFC file. Otherwise, the elements and their interconnections need to be defined separately in auxiliary data.
The general structure in Figure 1 allows for various permutations of energy components, where only a subset is viable regarding economic and technical feasibility (a supply that relies only on industrial excess heat is, for example, not regarded, since it is only implemented together with a backup heat pump). These combinations are shown in Table 1. Overall, the presented algorithm can be used to automatically develop control strategies for a total of 26 different configurations. Decisive for the control is the flow of the supply (orange) and the return (blue) as well as the power supply for heat pumps (green). Different configurations are possible: heat pumps that feed a thermal energy storage network of parallel and/or serial storage tanks and use air, brine or an alternative energy source such as industrial waste heat as a source, as well as gas-fired boilers that use the raised temperature of a heat pump as a return source instead of the return flow of the thermal energy storage. Sensors and actuators are not shown since they may differ depending on the configuration. Section 4 then explains how a control strategy is created based on a derivative of this superstructure.
While IFC exports contain most of the required data of the distribution system, the energy provisioning system requires additional data. Basically, three different types of information are needed:

2.
Equipment data a. Design points of heat pumps (electrical as well as thermal source and sink power at specific input and output temperatures) b.
Basic information of heat pumps (maximum thermal power, used liquid on both sides including their thermal data) c.
Basic information of thermal energy storages (heat loss coefficients, conductivity, volume, diameter) d.
Basic information of natural gas-fired boilers (efficiency curve, maximum thermal power) e.
Basic information of photovoltaic systems (open circuit and short circuit voltages and currents, maximum power data, number of cells, number of modules) f.
Positions and types of actuators as well as sensors and their parameters (maximum volume flow, etc.).

Equipment connections (both physical flows and information flows).
Energies 2020, 13, 4403 If this information is available in IFC and is in accordance to standardized naming, it is fetched from the IFC file. Otherwise, the elements and their interconnections need to be defined separately in auxiliary data.
The general structure in Figure 1 allows for various permutations of energy components, where only a subset is viable regarding economic and technical feasibility (a supply that relies only on industrial excess heat is, for example, not regarded, since it is only implemented together with a backup heat pump). These combinations are shown in Table 1. Overall, the presented algorithm can be used to automatically develop control strategies for a total of 26 different configurations.
Elements marked with X are required for a variant. For thermal energy storages, different hydraulic combinations are possible; in general, multiple heat storages can be connected in parallel or serial in both positions in Figure 1 with high and low temperature setpoints. A combination of serial and parallel storages is only possible for variant D and F because of the high temperature, which needs to be provided by a gas-fired boiler for filling multiple storages. Although heat pumps can also provide temperatures above 50 • C, most heat pumps in buildings are designed for lower temperatures. Hence, to reach a higher temperature level, cheaper gas boilers are used. To improve temporal flexibility, any number of stratified heat tanks can be specified, and the control strategy algorithm will combine the given heat producing elements with the storages.
The photovoltaic system (PV) is optional for all variants, since the renewable electricity of the photovoltaic system (PV) can always be integrated. The system is controlled with a simplified energy-balance approach: if electricity is needed and the PV can provide it, it is used for covering parts of the load. If the PV provides more energy than can be used on site, it is fed into the electric grid. For that, different regulations need to be fulfilled: the electricity price is higher than the feed-in price, whereby increasing the share of on-site usage of renewable energy is an important action to improve cost saving.
Despite the advantage of heat pumps of producing an output of about four units heat energy per one unit electricity (coefficient of performance (COP) of brine-water heat pumps equals to about 4 [21], their maximum achievable temperature is at about 80 • C). Even though high-temperature heat pumps exist, their prices are relatively high and their COP is much lower compared to lower temperature heat pumps, [22]. Thus, if higher temperatures are needed or if independency from electrical power sources is desired, the possibility of adding gas-fired boilers is included.
Control of oil-fired boilers is not discussed within this paper, since heat production using this type of technology was banned in Denmark in 2013, [23], and partially in Austria in 2019 [24], and bans will be necessary for reaching the climatic targets of the European Union (EU) [25].

Controller Block Library
Once the data of the building energy system has been collected, the control strategy can be created. As a first step, a library of control blocks for the energy components has to be defined. These control blocks are then interconnected and parameterized based on the interconnection of the energy provisioning system. The distribution system and the heating zones that are supplied by Energies 2020, 13, 4403 8 of 19 this provisioning system are also relevant for the parameterization. This information is used both to estimate any missing parameters (e.g., temperature setpoints of the thermal energy storage networks) and to ensure efficient control of the heating zones.
For the energy components that are listed in Section 3, a controller block and, if necessary, a switching block is created, as shown in Figure 2. These blocks are stored in a library and are automatically imported by the generating algorithm, depending on the energy system structure and the hydraulic circuitry. Depending on the connections between different elements, such as serially connected heat storages, the algorithm changes the controller s behavior. This ensures efficient operation. The control blocks have three types of variables: design parameters, process variables and dynamic outputs. Design parameters are unchangeable during the runtime of the control strategy and include, for example, the orientation and positioning of the PV system, as well as its inclination and size, window location and sizes, etcetera. Process variables and dynamic outputs may change any time and affect the overall system dynamically.
SchedulerDoW represents the time scheduler of the overall system. Based on the current time D_Act and a predefined list of on-off times, which are represented as the input PAR_WSCH, this block (de)activates the HVAC system. Specific on-off times are given by underlying occupancy profiles or the type of use of the building, i.e., office buildings are operating within normal business hours, hospitals all day and night long. Every block that has an input named B_ON can be (de)activated by SchedulerDoW.
Some buildings' inner room temperatures are reduced outside operation times. Therefore, the block NightSetBack is used for setting this temperature setpoint to a given value while the overall system is deactivated (B_ON = 0). If the inner room temperature reduces too sharply, the system is reactivated.
HeatPumpAct and GasFiredBoilerAct are used for HVAC systems, where heat pumps, as well as natural gas-fired boilers, can heat up the same heat storage. Their inputs B_HP and B_ON_GFB are switched by the block SwitchGasFiredBoilerHeatPump. Basically, this block defines the need of a natural gas-fired boiler and the usefulness of activating the heat pump based on different conditions: • Setpoint temperature of the heat storage: If the heat pump is not able to reach the needed temperature, it is only used when the lowest node temperature is lower than the provided one, and energy from the photovoltaic system is available. After reaching the maximum possible temperature, the heat pump is deactivated, and the natural gas-fired boiler is activated.

•
Needed energy from the distributing side: If the heat pump is not able to provide this energy, either due to errors during design phase or if the heat pump is only used for partial-load operation, the natural gas-fired boiler is used for provisioning. The control blocks have three types of variables: design parameters, process variables and dynamic outputs. Design parameters are unchangeable during the runtime of the control strategy and include, for example, the orientation and positioning of the PV system, as well as its inclination and size, window location and sizes, etcetera. Process variables and dynamic outputs may change any time and affect the overall system dynamically.
SchedulerDoW represents the time scheduler of the overall system. Based on the current time D_Act and a predefined list of on-off times, which are represented as the input PAR_WSCH, this block (de)activates the HVAC system. Specific on-off times are given by underlying occupancy profiles or the type of use of the building, i.e., office buildings are operating within normal business hours, hospitals all day and night long. Every block that has an input named B_ON can be (de)activated by SchedulerDoW.
Some buildings' inner room temperatures are reduced outside operation times. Therefore, the block NightSetBack is used for setting this temperature setpoint to a given value while the overall system is deactivated (B_ON = 0). If the inner room temperature reduces too sharply, the system is reactivated.
HeatPumpAct and GasFiredBoilerAct are used for HVAC systems, where heat pumps, as well as natural gas-fired boilers, can heat up the same heat storage. Their inputs B_HP and B_ON_GFB are switched by the block SwitchGasFiredBoilerHeatPump. Basically, this block defines the need of a natural gas-fired boiler and the usefulness of activating the heat pump based on different conditions: • Setpoint temperature of the heat storage: If the heat pump is not able to reach the needed temperature, it is only used when the lowest node temperature is lower than the provided one, and energy from the photovoltaic system is available. After reaching the maximum possible temperature, the heat pump is deactivated, and the natural gas-fired boiler is activated.

•
Needed energy from the distributing side: If the heat pump is not able to provide this energy, either due to errors during design phase or if the heat pump is only used for partial-load operation, the natural gas-fired boiler is used for provisioning.
HeatPumpCtrl is used to provide a pre-defined flow temperature, which can be the target temperature of the underfloor heating or of the storage tank. The target temperature of the underfloor heating is determined by Figure 3. In the test case shown later in Figure 4, Pump Brine and Pump Storage are used for controlling the mass flows of the source and the sink side of the heat pump. On both sides, PI-controllers are used. Pump Brine changes the mass flow for reaching a specific temperature difference between brine intake and return: ∆T br = 4K. A higher temperature difference than 4 K may lead to environmental problems. Thus, the pumps energy consumption increases. Depending on the power usage on the heat pump's hot side, the extraction of heat from the ground changes and the controller tries to compensate this load change. For that, a PID controller is used, which compares the flow and the return temperatures on the cold side to be able to guarantee the temperature difference: ∆T br . The controller can either be used for regulating the mass flow by using a valve or a pump directly.
Energies 2020, 13, x FOR PEER REVIEW 9 of 19 than 4 K may lead to environmental problems. Thus, the pumps energy consumption increases.
Depending on the power usage on the heat pump's hot side, the extraction of heat from the ground changes and the controller tries to compensate this load change. For that, a PID controller is used, which compares the flow and the return temperatures on the cold side to be able to guarantee the temperature difference: ∆ . The controller can either be used for regulating the mass flow by using a valve or a pump directly. For designing the hot side controller, two different situations are compared: if industrial excess heat is available, this energy is used to fill the thermal energy storage. Though, if this temperature is too low, the heat pump needs to be activated-switching between these two variants carried out by the valve Valve Switch (Figure 4). Since the industrial excess heat does not need an additional pump for passing water through the thermal energy storage, the hot sides' water needs to get pumped through the storage and the heat pump. Pump Storage is controlled using a PI-controller, which compares the return temperature with the flow temperature and tries to reach the given flow temperature setpoint. Depending on the heat pump's nominal output, this maximum temperature difference is calculated using Equation (1).
Thus, the heat pump's performance is limited, and possible miscalculations are avoided. Finally, the heat pump's activation period depends on the thermal energy storage temperature and its sepoint. Attention should be paid to the heat pump's duty cycle, because of the high start-up current and the high stress during the start-up phase.
The input variable B_Dist decides, if industrial excess heat is currently used; T_Source_In and T_Source_Out gives information about the temperature on the brine side, which is necessary for controlling the mass flow of the heat-pump's cold side; T_Sink_In and T_Sink_Out are necessary for controlling the mass flow on the hot-side to set the correct temperature difference. The output variables m_Source and m_Sink are the mass flow control inputs for the installed pumps or valves, which are set by PI-controllers. The setpoint of the heat pump depends on the following components, which are connected, and is set by using the input T_HP_Setpt.
If a natural gas-fired boiler is part of the system, the block GasFiredBoilerCtrl is used for HeatStorageCtrl switches between using industrial excess heat B_Add_Source and using another heat providing component B_HP as a heat-pump or a gas-fired boiler. Depending on the temperature T_Add_Source and mass flow m_Add_Source of the industrial excess heat and the other heat providing component, free energy from industrial excess heat can be used. If the storages' temperature T_Storage is higher, or a higher setpoint T_Storage_Setpt must be reached, industrial excess heat may be used till the transferred energy is non-economic.
The blocks FloorHeaterCtrl and HeatingCurve are used for controlling the temperature within a single room, which can be affected by changing the flow temperature and the mass flow from the floor heating system. The first parameter is outside temperature-regulated and the second is constant. In real systems, a constant mass flow is reached by using a valve at the heating manifolds return flow. The valves position will normally not be changed within the building′s lifetime. The flow temperature can be calculated using a heating curve (example shown in Figure 3).
The configuration of the heating curve is provided by an expert and depends on different parameters, which can be changed for improving the energy efficiency and the comfort level, as: Room temperature change (V_RTC) By changing these parameters, the curves shape and the heating systems behavior change. Usually, they are adjusted once depending on experience and are constant during the heating systems life cycle. Partially, these values are time-dependent, e.g., if night setback is activated.
The output T_HC relates to the same named input from FloorHeaterCtrl. Within this block, the valve position V_Mixer of the mixing valve is set depending on the storage, the return T_Return and the heating curve T_HC temperature. Depending on the current temperature of the storage, the valve may mix liquid from the return flow. The room's temperature is controlled based on the room's temperature setpoint T_Room_Setpt and the current room temperature T_Room by changing the mass flow using a PI-controller.

Topology-Aware Algorithm for Control Strategy Assembly
The workflow so far has collected all relevant information from an IFC-based BIM model and has augmented it with auxiliary data. A library of controller blocks has been designed to support the control strategy creation for a superstructure of feasible energy system variants. This chapter now covers the creation of the control strategy for a given system. The algorithm that has been developed Energies 2020, 13,4403 For designing the hot side controller, two different situations are compared: if industrial excess heat is available, this energy is used to fill the thermal energy storage. Though, if this temperature is too low, the heat pump needs to be activated-switching between these two variants carried out by the valve Valve Switch (Figure 4). Since the industrial excess heat does not need an additional pump for passing water through the thermal energy storage, the hot sides' water needs to get pumped through the storage and the heat pump. Pump Storage is controlled using a PI-controller, which compares the return temperature with the flow temperature and tries to reach the given flow temperature setpoint. Depending on the heat pump's nominal output, this maximum temperature difference is calculated using Equation (1).
Thus, the heat pump's performance is limited, and possible miscalculations are avoided. Finally, the heat pump's activation period depends on the thermal energy storage temperature and its se-point. Attention should be paid to the heat pump's duty cycle, because of the high start-up current and the high stress during the start-up phase.
The input variable B_Dist decides, if industrial excess heat is currently used; T_Source_In and T_Source_Out gives information about the temperature on the brine side, which is necessary for controlling the mass flow of the heat-pump's cold side; T_Sink_In and T_Sink_Out are necessary for controlling the mass flow on the hot-side to set the correct temperature difference. The output variables m_Source and m_Sink are the mass flow control inputs for the installed pumps or valves, which are set by PI-controllers. The setpoint of the heat pump depends on the following components, which are connected, and is set by using the input T_HP_Setpt.
If a natural gas-fired boiler is part of the system, the block GasFiredBoilerCtrl is used for controlling the boiler. This controller is simple, since neither energy from the PV system needs to be considered, nor two hydraulic sides must be controlled. Hence, the mass flow m_Gas for heating up the heat storage depends on the difference between return temperature from the heat storage T_GFB_In and flow temperature into the heat storage T_GFB_Out and the temperature setpoint of the heat storage T_HS_SP as well as the current temperature T_Storage. The circulation pump is regulated by a PI controller, using m_Sink as the control variable.
HeatStorageCtrl switches between using industrial excess heat B_Add_Source and using another heat providing component B_HP as a heat-pump or a gas-fired boiler. Depending on the temperature T_Add_Source and mass flow m_Add_Source of the industrial excess heat and the other heat providing component, free energy from industrial excess heat can be used. If the storages' temperature T_Storage is higher, or a higher setpoint T_Storage_Setpt must be reached, industrial excess heat may be used till the transferred energy is non-economic.
The blocks FloorHeaterCtrl and HeatingCurve are used for controlling the temperature within a single room, which can be affected by changing the flow temperature and the mass flow from the floor heating system. The first parameter is outside temperature-regulated and the second is constant. In real systems, a constant mass flow is reached by using a valve at the heating manifolds return flow. The valves position will normally not be changed within the building s lifetime. The flow temperature can be calculated using a heating curve (example shown in Figure 3).
The configuration of the heating curve is provided by an expert and depends on different parameters, which can be changed for improving the energy efficiency and the comfort level, as: Room temperature change (V_RTC) By changing these parameters, the curves shape and the heating systems behavior change. Usually, they are adjusted once depending on experience and are constant during the heating systems life cycle. Partially, these values are time-dependent, e.g., if night setback is activated.
The output T_HC relates to the same named input from FloorHeaterCtrl. Within this block, the valve position V_Mixer of the mixing valve is set depending on the storage, the return T_Return and the heating curve T_HC temperature. Depending on the current temperature of the storage, the valve may mix liquid from the return flow. The room's temperature is controlled based on the room's temperature setpoint T_Room_Setpt and the current room temperature T_Room by changing the mass flow using a PI-controller.

Topology-Aware Algorithm for Control Strategy Assembly
The workflow so far has collected all relevant information from an IFC-based BIM model and has augmented it with auxiliary data. A library of controller blocks has been designed to support the control strategy creation for a superstructure of feasible energy system variants. This chapter now covers the creation of the control strategy for a given system. The algorithm that has been developed is capable of creating valid control strategies for all variants of the superstructure, including the management of different combinations of serial and parallel storages. For the scope of this paper, one test case variant of the energy system is selected, which contains PV, heat pump, natural gas-fired boiler and industrial excess heat as sources, one storage tank, and a simplified distribution system with only one thermal zone (Figures 4 and 5). The resulting control strategy at the end of the workflow is shown in Figure 6.
The system shown in Figure 4 also corresponds to the simulation setup used for the plausibility check. The models for the supply side are based on already validated ones, such as a heat pump model, whose thermal output power is calculated based on the thermal input and the electrical power as well as the temperature spread between source input and sink output temperature. In this test scenario, the thermal storage corresponds to a decoupling of the supply and distribution side. The calculations of the interior temperature are obtained by the Heating Load Calculation. The heating system in use, in this case underfloor heating, is simulated and the heat losses and gains are taken into account. A certain inertia results from the storage mass of the installed screed and the heat transfer of the heating pipes to the screed. This inertia is considered in the design of the controllers, since a more inert system requires a different control system than a highly dynamic one.
Energies 2020, 13, x FOR PEER REVIEW 12 of 19 link between the heat pump and the gas boiler. Therefore, the block SwitchGasFiredBoilerHeatPump is required. The discharge side of the storage tank is connected to valve Valve mixer, which leads directly into the heating zone. Since this is part of controlling the distributing side, no further control of the provisioning side is required.

Distribution Side
The distributing side is simplified to only one thermal zone. Figure 5 shows the placement of the sensors, valves and pumps that are necessary for maintaining indoor comfort in the thermal zone. The algorithm starts by identifying all rooms within a building. They are represented by ifcSpace. Based on this information, all sensors, which are represented as IfcDistributingControlElement and IfcSensorType "Temperature Sensor", within the rooms' boundaries are identified. Either they are directly linked to this room within IFC, or they are assigned to a specific room by knowing its threedimensional coordinates. Then, all room-depending sensors need to be assigned to one specific room. Referring to the example from Figure 5, Temperature sensor I and Temperature sensor II are assigned to the Heating Zone (Room).
Second, all components, which are used for heating the specific heating zone are identified. Initially, heating pipes, represented as ifcPipeSegment, are identified. Using their location, they can be assigned to a specific room, too. Then, all connected pipe segments are traced, which leads to a net of the heating system and an easier assignment of sensors, valves and pumps. Using this net, all further elements are assigned to specific rooms by using the nearest ones to the first room-exiting pipe. Finally, the sensors Flow Temperature Sensor and Return Temperature Sensor, as well as the Mixing Valve Scheduler values need to be defined or are assumed depending on the building's usage, e. g., an office building's operation hours for the energy systems between 7:00 and 20:00 during workdays are assumed as default values.
As referenced earlier, Figure 6 shows the complete control strategy for the system in Figure 4, including both provisioning and distribution side. This structure is created fully automated by the topology-aware algorithm. The controllers for the provisioning system are in the upper area (light red) and the distribution side controllers are highlighted with a light green background. D_ACT is an external input providing the current time. In the present case, the additional source refers to industrial excess heat. Hence, its inputs (temperature and mass flow) are connected to the corresponding inputs of the heat storage control. This free energy is preferably used, if it meets the corresponding setpoints. The PV system serves as a simple energy source, whose output is used in addition to that from the electrical grid. Subsequently, these data can be used to change the setpoints and switch-on times, but this is not discussed in detail in this paper.
The parameters determined were based on the interconnection and configuration of the individual components. The heat pump was designed with a flow temperature of 55 °C (T_HP_Setpt), but the thermal storage tank has a setpoint value of 70 °C (T_Storage_Setpt). This configuration would give a warning in the plausibility check, which is scheduled after the control strategy development. However, since a gas boiler and industrial waste heat are available as additional sources, this setpoint is valid. The switchover via SwitchGasFiredBoilerHeatPump is performed via these two temperature levels.
The indoor temperature setpoint is either defined in the room model of the BIM model, or is defined manually. The parameters for the heating curve are identified by the specified support points. Based on the test case information, a topology map shown in Table 2 is created; the inputs and outputs of the provisioning components are derived based on the definitions in Section 4 and are matched with the component names in the topology map in order to reflect the hydraulic connections. The provision side is represented from Pump Storage Out to Photovoltaic System and the distribution side from Thermal Energy Storage Discharge Out to Pump Heater Out. A distinction is made between inputs and outputs, which also define the flow direction of the liquid used.  Figure 4 shows components highlighted in green, which require an according control block, while blue components are directly controllable actuators, such as valves and pumps. In the next step, their interconnections need to be implemented using the topology map in Table 2. The algorithm terminates when all inputs and outputs are connected.
The algorithm starts at the source side; in this test case, this is the brine side of the heat pump connecting the Pump Brine pump with the heat pump. Thus, the control blocks HeatPumpCtrl and HeatPumpAct are used. The hot side of the heat pump (on the right) leads into the first valve, Valve HP GFB. Its outlet leads to the next valve, Valve Switch, and then to the thermal energy storage tank Thermal Energy Storage. Thus, the HeatStorageCtrl control block is required. A further inlet of the valve Valve HP GFB corresponds to the Natural Gas Fired Boiler, whose flow is fed by the Pump Storage and is connected to the return flow of the storage tank. Thus, the blocks GasFiredBoilerCtrl and GasFiredBoilerAct are used. The Pump Storage also feeds the heat pump, which means there is a direct link between the heat pump and the gas boiler. Therefore, the block SwitchGasFiredBoilerHeatPump is required. The discharge side of the storage tank is connected to valve Valve mixer, which leads directly into the heating zone. Since this is part of controlling the distributing side, no further control of the provisioning side is required.

Distribution Side
The distributing side is simplified to only one thermal zone. Figure 5 shows the placement of the sensors, valves and pumps that are necessary for maintaining indoor comfort in the thermal zone.
The algorithm starts by identifying all rooms within a building. They are represented by ifcSpace. Based on this information, all sensors, which are represented as IfcDistributingControlElement and IfcSensorType "Temperature Sensor", within the rooms' boundaries are identified. Either they are directly linked to this room within IFC, or they are assigned to a specific room by knowing its three-dimensional coordinates. Then, all room-depending sensors need to be assigned to one specific room. Referring to the example from Figure 5, Temperature sensor I and Temperature sensor II are assigned to the Heating Zone (Room).
Second, all components, which are used for heating the specific heating zone are identified. Initially, heating pipes, represented as ifcPipeSegment, are identified. Using their location, they can be assigned to a specific room, too. Then, all connected pipe segments are traced, which leads to a net of the heating system and an easier assignment of sensors, valves and pumps. Using this net, all further elements are assigned to specific rooms by using the nearest ones to the first room-exiting pipe. Finally, the sensors Flow Temperature Sensor and Return Temperature Sensor, as well as the Mixing Valve and the Heating Pump, are assigned to the same Heating Zone (Room). This procedure is performed for every room. The piping map has, of course, only be created once.

Control Strategy Synthesis
Depending on the identified components, the according control blocks and their sensors as well as actuators are added to the control strategy; they are highlighted in blue in Figure 6.
The connection of the provisioning side with the distribution side is controlled by a Pump Pump Heater and the mixing valve Valve Mixer. Due to this, the control block FloorHeaterCtrl is added and both outputs (m_Floor, V_Mixer) are connected. If there is no back mixing of the return flow, the output V_Mixer of the control block FloorHeaterCtrl would not be connected. This would affect the entire control strategy, since the flow temperature of the heating system can no longer be controlled by the flow temperature sensor, which is located at the entry to the room, but by the setpoint of the thermal energy storage. Changing this would force a change in the heat pump and gas boiler setpoints. Thus, the interconnection of the individual components is influenced by both the source and the sink side.
In Figure 6, all predefined parameters are highlighted in grey (boxes with constant values). The storage's setpoint T_Storage_Setpt is calculated for the known nominal temperature of the heat pump and the known flow temperature of the heat distributing side. Using the storage and the zone sizes, which need to be supplied with hot water, the temperature threshold T_TH_Storage is calculated. So, the storage will always be able to provide enough thermal energy and is refilled early enough without stressing the heat pump more than needed.
Other configuration parameters, such as V_Incl, V_Level and V_RTC, are either given or calculated by provided measured values for the outside and the associated flow temperature. Scheduler values need to be defined or are assumed depending on the building's usage, e. g., an office building's operation hours for the energy systems between 7:00 and 20:00 during workdays are assumed as default values.
As referenced earlier, Figure 6 shows the complete control strategy for the system in Figure 4, including both provisioning and distribution side. This structure is created fully automated by the topology-aware algorithm.
The controllers for the provisioning system are in the upper area (light red) and the distribution side controllers are highlighted with a light green background. D_ACT is an external input providing the current time. In the present case, the additional source refers to industrial excess heat. Hence, its inputs (temperature and mass flow) are connected to the corresponding inputs of the heat storage control. This free energy is preferably used, if it meets the corresponding setpoints. The PV system serves as a simple energy source, whose output is used in addition to that from the electrical grid. Subsequently, these data can be used to change the setpoints and switch-on times, but this is not discussed in detail in this paper.
The parameters determined were based on the interconnection and configuration of the individual components. The heat pump was designed with a flow temperature of 55 • C (T_HP_Setpt), but the thermal storage tank has a setpoint value of 70 • C (T_Storage_Setpt). This configuration would give a warning in the plausibility check, which is scheduled after the control strategy development. However, since a gas boiler and industrial waste heat are available as additional sources, this setpoint is valid. The switchover via SwitchGasFiredBoilerHeatPump is performed via these two temperature levels.
The indoor temperature setpoint is either defined in the room model of the BIM model, or is defined manually. The parameters for the heating curve are identified by the specified support points.
All these parameters can be adjusted in subsequent optimizations. These can be carried out automatically or can be changed by the respective users.

Plausibility Check Based on Simulation Results
Control strategies should already be checked during the planning process. This allows users to test different energy provisions and distribution systems as well as their dimensioning and to identify the optimal system. Simulations, which can be integrated in different simulation environments, support this process. The resulting control strategies can be tested with more complex models for fine tuning or can be modified during the commissioning of the finalized building. The resulting control strategy is tested in a simulation environment, which is coupled in the co-simulation environment PTOLEMY [26]. Simulink is used for the control strategy implementation that operates a thermal simulation of the building, the provisioning and the distribution system. In this test case, the system shown in Figure 4 is checked and the entire process described in the previous chapters is performed. If there are changes in the interconnection or in the components, these are recognized and are already considered in the control concept shown in Figure 6 as an example. Currently, the corresponding simulation environment of the components is set up manually. This can be automated in subsequent work by identifying relevant parameters in BIM models, but is not part of the present work. The simulation is run for a period of 48 h, the results for the provisioning side are shown in Figures 7 and 8.
Plot (a) in Figure 7 shows the usage of industrial excess heat (blue), the activation of the heat pump (green) and the gas-fired boiler (red). The storage tank temperature at the outlet and the upper storage tank temperature (plot (b)) have an initial temperature of 20 • C and should be raised to 70 • C (T_Storage_Setpt). Since the control strategy prioritizes renewable energy, the temperature is first raised to 55 • C only by the heat pump. As the average temperature of all layers of the storage tank is relevant for the controller, the loading by the heat pump continues until approximately 10:30. Then the heat pump is deactivated, and the gas boiler takes over to raise the temperature from 55 • C to the final temperature of 70 • C. Once this temperature has been reached, the boiler is deactivated and is regularly activated for reheating. Between simulation time 24:00 and 35:00, the overall control was overruled by a free heat source (Industrial Excess Heat). The energy is fed directly into the thermal energy storage and the standard control takes over again as soon as the heat source has faded. The frequency of activation can be changed by modifying the storage tank temperature hysteresis. If the target temperature of the storage tank was ≤55 • C, the gas boiler would not be activated, and only the heat pump would be responsible for charging the storage tank.
PTOLEMY [26]. Simulink is used for the control strategy implementation that operates a thermal simulation of the building, the provisioning and the distribution system. In this test case, the system shown in Figure 4 is checked and the entire process described in the previous chapters is performed. If there are changes in the interconnection or in the components, these are recognized and are already considered in the control concept shown in Figure 6 as an example. Currently, the corresponding simulation environment of the components is set up manually. This can be automated in subsequent work by identifying relevant parameters in BIM models, but is not part of the present work. The simulation is run for a period of 48 h, the results for the provisioning side are shown in Figures 7 and 8. Plot (a) in Figure 7 shows the usage of industrial excess heat (blue), the activation of the heat pump (green) and the gas-fired boiler (red). The storage tank temperature at the outlet and the upper storage tank temperature (plot (b)) have an initial temperature of 20 °C and should be raised to 70 °C (T_Storage_Setpt). Since the control strategy prioritizes renewable energy, the temperature is first raised to 55 °C only by the heat pump. As the average temperature of all layers of the storage tank is relevant for the controller, the loading by the heat pump continues until approximately 10:30. Then the heat pump is deactivated, and the gas boiler takes over to raise the temperature from 55 °C to the final temperature of 70 °C. Once this temperature has been reached, the boiler is deactivated and is regularly activated for reheating. Between simulation time 24:00 and 35:00, the overall control was overruled by a free heat source (Industrial Excess Heat). The energy is fed directly into the thermal energy storage and the standard control takes over again as soon as the heat source has faded. The frequency of activation can be changed by modifying the storage tank temperature hysteresis. If the target temperature of the storage tank was ≤55 °C, the gas boiler would not be activated, and only the heat pump would be responsible for charging the storage tank.  Figure 8a shows the opening of the mixing valve to achieve the desired flow temperature. In Figure 8b, the mixed flow temperature can be seen. The mixing valve is responsible for providing the desired flow temperature. The room temperature is then controlled via the mass flow rate (m_Floor), which is provided by a separate pump. Figure 9 shows the indoor temperature of the controlled heating circuit as well as the floor temperature. Similar to the discharged storage tank, the indoor temperature starts at 20 °C and is controlled and kept at a constant level of 22 °C. The flow temperature corresponds to 35 °C ( Figure  9) which is controlled by the mixing valve and corresponds to the heating curve for the existing  Figure 8a shows the opening of the mixing valve to achieve the desired flow temperature. In Figure 8b, the mixed flow temperature can be seen. The mixing valve is responsible for providing the desired flow temperature. The room temperature is then controlled via the mass flow rate (m_Floor), which is provided by a separate pump. Figure 9 shows the indoor temperature of the controlled heating circuit as well as the floor temperature. Similar to the discharged storage tank, the indoor temperature starts at 20 • C and is controlled and kept at a constant level of 22 • C. The flow temperature corresponds to 35 • C (Figure 9) which is controlled by the mixing valve and corresponds to the heating curve for the existing outdoor temperature.

Discussion
As shown in the figures, the provisioning as well as the distribution side are controlled accordingly. Switching between the heat pump and the gas boiler works based on pre-defined temperatures and the temperature of the storage tank is also constantly within the desired limits. The indoor temperature is constantly controlled to the predefined value and has been quasi-decoupled from the storage tank temperature by using a mixing valve.
The present simulation results were generated by coupling the automatically generated control strategy with manually created, classical provisioning and distribution systems. These results can be used for comparison with other systems or for comparison with changed building or system parameters. These include, for example, different thermal energy storage tank sizes, heat pumps with different performance levels, other interconnection variants or fundamental changes to the building in terms of thermal insulation or windows. The benefit of this approach is that provision and distribution systems based on empirical values can be tested using dynamic simulations. The results will change in each planning stage, as the first BIM models will have a lower quality than those in the later planning phase.
The strategy creation process is expected to reduce development costs in different areas; we estimate that the highest impact on cost and resource savings will be the following: • A priori testing and optimizing of control strategies before a building is commissioned: this increases the overall quality of the building operation and will reduce operation costs.

•
Automatic creation of control strategies: our BIM-based approach is expected to cut the costs for programming in half. In the example building shown in Section 2.3, this would address the 60% programming part of the building automation share of EUR 450,000.

•
Evaluation of different HVAC configurations in early design stage: while this is possible today by thermal simulation, our approach refines the accuracy of simulation by automatically adding a control strategy to an HVAC system, thus providing high indication on dynamic behavior in high time resolution.

Discussion
As shown in the figures, the provisioning as well as the distribution side are controlled accordingly. Switching between the heat pump and the gas boiler works based on pre-defined temperatures and the temperature of the storage tank is also constantly within the desired limits. The indoor temperature is constantly controlled to the predefined value and has been quasi-decoupled from the storage tank temperature by using a mixing valve.
The present simulation results were generated by coupling the automatically generated control strategy with manually created, classical provisioning and distribution systems. These results can be used for comparison with other systems or for comparison with changed building or system parameters. These include, for example, different thermal energy storage tank sizes, heat pumps with different performance levels, other interconnection variants or fundamental changes to the building in terms of thermal insulation or windows. The benefit of this approach is that provision and distribution systems based on empirical values can be tested using dynamic simulations. The results will change in each planning stage, as the first BIM models will have a lower quality than those in the later planning phase.
The strategy creation process is expected to reduce development costs in different areas; we estimate that the highest impact on cost and resource savings will be the following: • A priori testing and optimizing of control strategies before a building is commissioned: this increases the overall quality of the building operation and will reduce operation costs.

•
Automatic creation of control strategies: our BIM-based approach is expected to cut the costs for programming in half. In the example building shown in Section 2.3, this would address the 60% programming part of the building automation share of EUR 450,000.
• Evaluation of different HVAC configurations in early design stage: while this is possible today by thermal simulation, our approach refines the accuracy of simulation by automatically adding a control strategy to an HVAC system, thus providing high indication on dynamic behavior in high time resolution. • Fast reaction to changes during planning by triggering reruns of the control strategy creation process: upon significant changes in the system, a manual reprogramming of control strategies can be replaced by our automated approach; we expect that each of these events is halved in its resource demand.
In the presented method, simulations are performed with widely used models. These include, for example, the Carnot model of the heat pump or room temperature calculations based on heat flows through walls and windows. However, an exact representation of reality is not possible with current models, so a validation based on real data would provide a further benefit. The control strategy development described above was tested based on different BIM models of real planned buildings; this led to promising results. However, no building could yet be accompanied from the planning to the construction phase. There are various reasons for this: Building data have to be provided in early planning phases. However, the BIM models have to be of a certain quality in order to obtain satisfactory results. Since BIM is still in its infancy in the Mechanical, Engineering and Plumbing (MEP) industry, projects have yet to be acquired in which not only BIM models can be obtained, but also the entire planning and construction process can be monitored. Since these processes can take years to complete, validations based on real data will only be able to be submitted later.

Outlook
The new methodology presented in this paper allows the automated development of a general-purpose building energy provisioning and distribution system; it uses both IFC-based BIM data and auxiliary data to extract the hydraulic structure of the energy system and derive a control strategy from it. While this new approach is capable of solving a broad variety of energy component combinations, it is limited to a subset of applications, namely, only addressing the heating case, not the cooling case. Future research will extend in this direction, so that it is possible to apply the methodology to the areas of cooling and, consequently, control of air humidity.
Furthermore, the created controller strategy can be used to perform online optimization, i.e., tuning the controller parameters while the system is in operation. This would allow users to further increase energy efficiency of the building energy system.
In further work, the developed methods will be tested on buildings designed and constructed using BIM. Since BIM has yet to gain a foothold in most of the construction industry and the model quality has to meet certain standards, validations must be carried out based on direct and intensive cooperation with building contractors. This also increases the likelihood of acceptance to use the developed methods and validates the results by comparing them with older buildings. However, the developed methods offer a solid basis for acquiring partners for the validation, as they can already be tested on BIM models and show feasible results.