The Internet of Things requires the development of increasingly complex distributed systems. We have shown that using methods from generative software engineering and Domain Specific Languages (DSLs) allow us to handle this complexity in a better way.
The MontiThings ecosystem [KRS+22] [KKR+22] provides an end-to-end solution to modeling, deploying, and analyzing Internet of Things systems. Since IoT systems are often based on unreliable hardware, MontiThings especially focusses on failure-detection and analysis. Using its component-and-connector architecture description language, many failure detection and resolving mechanisms can be automatically added to the generated code [KKR+22]. For errors not being detected at design time, MontiThings offers analysis tools that can be automatically integrated into the generated code [KMR21]. By using a model-driven approach, MontiThings can also synthesize the integration with digital twins [KMR+20].
We have investigated how model-driven methods can support the development of privacy-aware [ELR+17] [HHK+14] cloud systems [PR13]. Especially, we presented an approach for assuring the privacy of user data even if it is processed in a cloud and, thus, not under the user’s control [HHK+14]. Furthermore, we investigated distributed systems security [HHR+15], privacy-aware process mining [MKM+19], and distributed robotics applications [RRRW15b].
IoT Application Domains
Smart Energy Management
Smart energy systems rely on sensory information within buildings and their infrastructure such as cooling or heating systems. Within the Energy Navigator tool [FPPR12], we can model the structure and behavior of a building and its facilities, measure operational data from sensors, and match model and operational data [KLPR12] during analysis and reporting of the results.
IoT plays an important role for Industry 4.0, as sensors can produce too large amounts of data and industry is facing an immense heterogeneity regarding sensors and machinery [BDJ+22]. To tackle large data amounts, we have investigated the concept of digital shadows [BBD+21b] within the Cluster of Excellence Internet of Production (IoP), allowing us to aggregate and abstract relevant data for specific purposes. We identified the digital representation, integration, and (re-)configuration of automation systems as primary Industry 4.0 concerns [WCB17]. Thus, we have investigated the creation of self-adaptive digital twins [BBD+21a], the generation of low-code platforms for digital twins [DHM+22], or process-aware digital twin cockpit generation from sensor data in event logs [BMR+22].
We identified software engineering challenges for Cyber-Physical Production Systems (CPPSs) together with several industry partners, e.g., the complexity of systems, variability management, real-time requirements, knowledge management, multidiscipliarity of teams, agility vs. regulations, the missing software engineering education of CPPSs experts, and data analytics capabilities in CPPSs.
Another aspect where we have turned our attention to are mechanical and electrical applications and model-driven systems engineering. Using a SysML profile, we enabled mechanical engineers to model systems like an automotive cooling pump in a reusable way [DRW+20]. Extracting the data structure of these functional models allows us to generate digital twin cockpits covering relevant parameters in the engineering process of mechanical systems [MNN+22]. Using a multi-level modeling framework, we support machine-as-a- service approaches [BKL+18].
- The structure of component-and-connector architectures enables code generators to automatically enhance the generated software with mechanisms for failure detection, analysis, and recovery. Thus, it can increase the realiability IoT applications.
- Component-and-connector architectures support modeling a wide variety of concerns of IoT applications, including data privacy, mechanical, and electrical aspects.
- Model-driven software engineering supports the use of heterogeneous IoT systems in the production domain and eases the creation of digital twins representing sensory information.
Selected Topic-Specific Publications
[KKR+22]Model-driven Self-adaptive Deployment of Internet of Things Applications with Automated Modification Proposals.In: ACM Transactions on Internet of Things, Association for Computing Machinery, Nov. 2022.
[MNN+22]In: Modellierung 2022, pp. 33-48, Gesellschaft für Informatik, Jun. 2022.
[BMR+22]In: Journal of Computer Languages (COLA), Volume 70, Elsevier, Jun. 2022.
[DHM+22]In: Journal of Computer Languages (COLA), Volume 70, Elsevier, Jun. 2022.
[BDJ+22]In: ACM Trans. Internet Things, Volume 3, pp. 1-32, ACM, Feb. 2022.
[KRS+22]In: Journal of Systems and Software, W.- K. Chan (Eds.), Volume 183, pp. 1-21, Elsevier, Jan. 2022.
[BBD+21b]In: Conceptual Modeling, ER 2021, A. Ghose, J. Horkoff, V. E. Silva Souza, J. Parsons, J. Evermann (Eds.), pp. 271-281, Springer, Oct. 2021.
[KMR21]In: Proceedings of the 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (GPCE 21), E. Tilevich, C. De Roover (Eds.), pp. 197-209, ACM SIGPLAN, Oct. 2021.
[BBD+21a]In: 2021 International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), pp. 156-166, IEEE Computer Society, May 2021.
[DRW+20]In: Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, pp. 79-89, ACM, Oct. 2020.
[KMR+20]Model-driven Digital Twin Construction: Synthesizing the Integration of Cyber-Physical Systems with Their Information Systems.In: Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, pp. 90-101, ACM, Oct. 2020.
[MKM+19]In: Proceedings of CAiSE Forum 2019: Information Systems Engineering in Responsible Information Systems, C. Cappiello, M. Ruiz (Eds.), pp. 194-206, Springer, Jun. 2019.
[BKL+18]Multi-Level Modeling Framework for Machine as a Service Applications Based on Product Process Resource Models.In: Proceedings of the 2nd International Symposium on Computer Science and Intelligent Control (ISCSIC’18), ACM, Sep. 2018.
[WCB17]In: Conference on Model Driven Engineering Languages and Systems (MODELS’17), pp. 281-291, IEEE, Sep. 2017.
[ELR+17]In: Software Architecture for Big Data and the Cloud, I. Mistrik, R. Bahsoon, N. Ali, M. Heisel, B. Maxim (Eds.), ch. 12, pp. 207-226, Elsevier Science & Technology, Jun. 2017.
[RRRW15b]Language and Code Generator Composition for Model-Driven Engineering of Robotics Component & Connector Systems.In: Journal of Software Engineering for Robotics (JOSER), Volume 6(1), pp. 33-57, 2015.
[HHR+15]Generating Domain-Specific Transformation Languages for Component & Connector Architecture Descriptions.In: Workshop on Model-Driven Engineering for Component-Based Software Systems (ModComp’15), Volume 1463, pp. 18-23, CEUR Workshop Proceedings, 2015.
[HHK+14]In: Conference on Future Internet of Things and Cloud (FiCloud’14), IEEE, 2014.
[PR13]In: Model-Driven Engineering for High Performance and Cloud Computing Workshop, Volume 1118, pp. 15-24, CEUR Workshop Proceedings, 2013.
[KLPR12]In: Modelling of the Physical World Workshop (MOTPW’12), pp. 2:1-2:6, ACM, Oct. 2012.
[FPPR12]In: Energy Efficiency in Commercial Buildings Conference (IEECB’12), 2012.
- Cyber Physical Systems (CPS)
- Domain Specific Languages (DSLs)
- Digital Twins and Digital Shadows in Engineering, Operation and Production
- Energy Management
- Generative Software Engineering
- MontiThings - Modeling the IoT
- MontiArc - Architectural Modeling
- Model-Driven Systems Engineering
- Robotics Architectures and Tasks