Summary of Most Relevant Topic Papers
CPS are software controlled, collaborating physical machines [Lee08a] [KRS12] [BBR20]. This term reflects the increased ability of computers to sense their environment and to interact with their contexts in various ways. As consequence, CPS are usually designed as distributed networks of interacting nodes and physical devices (machines) that carry out certain tasks. Often some of these devices are mobile (robots or autonomous cars, but also smartphones, airplanes and drones) and interaction with humans is essential. CPS are therefore complex in several dimensions: they embody characteristics of physical, networked, computational-intensive, and of human-interactive systems. Furthermore, they typically cannot be developed as monolithic systems, but need to be developed as open, composable, evolving, and scalable architectures (see also Modeling Software Architecture).
Nowadays, CPS are found in many domains, including aerospace, automotive, energy, healthcare, manufacturing, and robotics. Many distributed CPS use a virtual communication network mapped to the internet or telecommunication infrastructure [BBR20].
At its heart, CPS engineering suffers from the problem that control theory, built on integration and differentiation calculus used by almost any engineering discipline, and the digital theory of state machines are not very well integrated and thus do not allow us to describe CPS in an integrated way. Many attempts have been made, but a good standard has yet to emerge.
The complexity and heterogeneity of CPS introduces a wide conceptual gap between problem and solution domains. Model-driven engineering of such systems can decrease this gap by using models as abstractions and thus facilitate a more efficient development of robust CPS [RW18] [Wor21].
CPS Application Domains
For the aviation domain, we have developed a modeling language [ZPK+11] that allows to specify flight conditions including trajectories, status of the airplanes and their devices, weather conditions, and pilot capabilities. This modeling language allows EuroControl to operationalize correct flight behavior as well as specify and detect interesting events.
As long term interest, we intensively do research on how to improve the engineering for distributed automotive systems as well. For example [HRR12] [KRRW17], outline our proposal for an architecture centric development approach.
The Digital Twin of a cyberphysical system is in our special interest and we have discussed among others, how to develop Digital Twins efficiently. E.g. [BDH+20] describes an application for injection molding.
Automotive is a highly innovative CPS subdomain. We discuss in [GRJA12] what an OEMs need is to understand about costs arising from requirements complexities and from cross-platform dependencies in their automotive development projects. Transforming a set of individual projects with similar requirements and technology into a product line for a central part of an automotive system is discussed in [HRRW12]. Another important aspect are current and future processes and tools for development of autonomous driving cars. We discuss this in [BR12b] based on our experiences in building such a car and using sophisticated simulation techniques for the context of autonomous robots (cars). [KKR19] furthermore contains a discussion of how to model and simulate dynamic architectures of cooporative systems, such as cars in urban traffic or even temporary convois, which through their movement and distances dynamically adapt their communication topology.
Moreover, fully automatic simulation of the cyber-physical contexts of cars and fully automatic checking of the robots’ behavior leads to an highly efficient development process with high quality results [BBR07]. Optimized code-generators [KRS+18a] and domain specific code generation [AHRW17b] are key for CPS. Moreover, we have extended our work from individual CPS to product lines of CPS [RSW+15] [KRR+16] [RRS+16].
Robotics is another highly innovative CPS subdomain. It is characterized by an inherent heterogeneity of involved domains, platforms, and increasing set of challenges. Engineering of robotics applications requires composition and interaction of complex, distributed systems as well. We developed a component and connector architecture description language suitable for the specific challenges in robotics [RRW13c] [Wor16] as well as in [RRW14a]. This language serves from requirements modeling [RRW12] to the complete development of CPS software [RRSW17]. In [RRW13], we describe a code generation framework for this language.
Smart and energy efficient buildings embody large amounts of IT technology. There is a multitude of networked systems and sensors to continuously control the building’s behavior. We have built the Energy Navigator [KPR12] [FPPR12] to be able to model the specifications of such buildings in order to control the measured actual data against the desired specification, e.g., to save energy. In [KLPR12] we discuss how such a specification approach improves development quality in the energy subdomain of CPS.
- CPS faces two core challenges:
- Lack of integration of calculus and automaton theory, and
- Heterogeneous domains require the integration of heterogeneous modeling technologies as CPS requires cross-domain solutions and techniques.
- Furthermore, CPS tend to be complex in functionality and because of distribution and quality needs.
- CPS are typically not built from scratch, but evolve as new components (services, devices, machines) are added.
- We have developed architectural modeling techniques similar to the SysML to describe CPS and among others we have applied those to cars, robots, avionics and building infrastructures.
Selected Topic-Specific Publications
[Wor21]Aachener Informatik-Berichte, Software Engineering, Band 50, ISBN 978-3-8440-8345-3, Shaker Verlag, Oct. 2021.
[BBR20]fortiss. Forschungsinstitut für softwareintensive Systeme, Munich, Jul. 2020.
[BDH+20]In: International Conference on Advanced Information Systems Engineering (CAiSE’20), S. Dustdar, E. Yu, C. Salinesi, D. Rieu, V. Pant (Eds.), Volume 12127, pp. 85-100, Lecture Notes in Computer Science, Springer International Publishing, Jun. 2020.
[KKR19]In: Journal of Object Technology (JOT), B. Combemale, S. Ali (Eds.), Volume 18(2), pp. 1-20, AITO - Association Internationale pour les Technologies Objets, Jul. 2019.
[KRS+18a]Highly-Optimizing and Multi-Target Compiler for Embedded System Models: C++ Compiler Toolchain for the Component and Connector Language EmbeddedMontiArc.In: Conference on Model Driven Engineering Languages and Systems (MODELS’18), pp. 447 - 457, ACM, Oct. 2018.
[RW18]In: Principles of Modeling: Essays Dedicated to Edward A. Lee on the Occasion of His 60th Birthday, Lohstroh, Marten and Derler, Patricia Sirjani, Marjan (Eds.), pp. 383-406, LNCS 10760, ISBN 978-3-319-95246-8, Springer, 2018.
[KRRW17]In: European Conference on Modelling Foundations and Applications (ECMFA’17), pp. 34-50, LNCS 10376, Springer, Jul. 2017.
[RRSW17]In: International Conference on Software Engineering: Software Engineering and Education Track (ICSE’17), pp. 127-136, IEEE, May 2017.
[AHRW17b]In: Journal of Software Engineering for Robotics (JOSER), Volume 8(1), pp. 3-16, 2017.
[Wor16]An Extensible Component & Connector Architecture Description Infrastructure for Multi-Platform Modeling.Aachener Informatik-Berichte, Software Engineering, Band 25, Shaker Verlag, Nov. 2016.
[RRS+16]In: International Systems and Software Product Line Conference (SPLC ’16), pp. 174-183, ACM, Sep. 2016.
[KRR+16]In: International Systems and Software Product Line Conference (SPLC ’16), pp. 99-108, ACM, Sep. 2016.
[RSW+15]In: Software Product Line Conference (SPLC’15), pp. 141-150, ACM, 2015.
[RRW14a]Aachener Informatik-Berichte, Software Engineering, Band 20, Shaker Verlag, Dec. 2014.
[RRW13c]In: Conference on Robotics and Automation (ICRA’13), pp. 10-12, IEEE, 2013.
[RRW13]From Software Architecture Structure and Behavior Modeling to Implementations of Cyber-Physical Systems.In: Software Engineering Workshopband (SE’13), Volume 215, pp. 155-170, LNI, 2013.
[KLPR12]In: Modelling of the Physical World Workshop (MOTPW’12), pp. 2:1-2:6, ACM, Oct. 2012.
[HRR12]RWTH Aachen University, AIB-2012-03, Technical Report, Feb. 2012.
[KRS12]In: Proceedings of Automation 2012, VDI Berichte 2012, pp. 113-116, VDI Verlag, 2012.
[RRW12]In: Modelling and Quality in Requirements Engineering: Essays Dedicated to Martin Glinz on the Occasion of His 60th Birthday, Seyff, N. and Koziolek, A. (Eds.), pp. 133-146, ISBN 978-3869917245, Monsenstein und Vannerdat, Münster, 2012.
[BR12b]Autonomous Driving - 5 Years after the Urban Challenge: The Anticipatory Vehicle as a Cyber-Physical System.In: Automotive Software Engineering Workshop (ASE’12), pp. 789-798, 2012.
[FPPR12]In: Energy Efficiency in Commercial Buildings Conference (IEECB’12), 2012.
[GRJA12]High-Level Requirements Management and Complexity Costs in Automotive Development Projects: A Problem Statement.In: Requirements Engineering: Foundation for Software Quality (REFSQ’12), 2012.
[HRRW12]Einführung eines Produktlinienansatzes in die automotive Softwareentwicklung am Beispiel von Steuergerätesoftware.In: Software Engineering Conference (SE’12), pp. 181-192, LNI 198, 2012.
[KPR12]In: Entwicklung und Evolution von Forschungssoftware. Tagungsband, Rolduc, 10.-11.11.2011, H. Lichter, B. Rumpe (Eds.), Aachener Informatik-Berichte, Software Engineering, Band 14, Shaker Verlag, Aachen, Deutschland, 2012.
[ZPK+11]In: Proceedings of the SESAR Innovation Days, EUROCONTROL, 2011.
[Lee08a]In: 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC), pp. 363-369, 2008.
[BBR07]Software & Systems Engineering Process and Tools for the Development of Autonomous Driving Intelligence.In: Journal of Aerospace Computing, Information, and Communication (JACIC), Volume 4(12), pp. 1158-1174, 2007.
- Autonomous Driving & Intelligent Driver Assistance
- Digital Twins and Digital Shadows in Engineering, Operation and Production
- Domain Specific Languages (DSLs)
- Energy Management
- MontiArc - Architectural Modeling
- MontiThings - Modeling the IoT
- Robotics Architectures and Tasks
- Unified Modeling Language (UML)