Skip to main content
main-content
Top

About this book

This Open Access book presents the results of the "Collaborative Embedded Systems" (CrESt) project, aimed at adapting and complementing the methodology underlying modeling techniques developed to cope with the challenges of the dynamic structures of collaborative embedded systems (CESs) based on the SPES development methodology.

In order to manage the high complexity of the individual systems and the dynamically formed interaction structures at runtime, advanced and powerful development methods are required that extend the current state of the art in the development of embedded systems and cyber-physical systems. The methodological contributions of the project support the effective and efficient development of CESs in dynamic and uncertain contexts, with special emphasis on the reliability and variability of individual systems and the creation of networks of such systems at runtime.

The project was funded by the German Federal Ministry of Education and Research (BMBF), and the case studies are therefore selected from areas that are highly relevant for Germany’s economy (automotive, industrial production, power generation, and robotics). It also supports the digitalization of complex and transformable industrial plants in the context of the German government's "Industry 4.0" initiative, and the project results provide a solid foundation for implementing the German government's high-tech strategy "Innovations for Germany" in the coming years.

Table of Contents

Frontmatter

Open Access

1. CrESt Use Cases

Abstract
In this chapter, we present three use cases that are used throughout this book to demonstrate the various systems engineering methods presented: vehicle platooning, adaptable and flexible factories, and autonomous transport robots. The use cases are chosen from real-life industrial tasks and exhibit all software engineering challenges that are specific to the development of collaborative embedded systems.
Holger Schlingloff

Open Access

2. Engineering of Collaborative Embedded Systems

Abstract
Embedded systems are being increasingly used in changing environments where they no longer fulfill their associated stakeholder goals on their own, but rather in interaction with other embedded systems. This transition to networked, collaborative embedded systems is creating new application opportunities that impose numerous challenges for developers of these systems. In this introductory chapter of the book, we present the complexity of these systems and the challenges associated with them in a coherent manner. We illustrate the challenges using two use cases, “Vehicle Platooning” and “Adaptable and Flexible Factory.” Finally, we reference the challenges of developing collaborative embedded systems to the individual chapters of this book, which describe various methods of mastering the complexity in more detail.
Birthe Böhm, Wolfgang Böhm, Marian Daun, Alexander Hayward, Sieglinde Kranz, Nikolaus Regnat, Sebastian Schröck, Ingo Stierand, Andreas Vogelsang, Jan Vollmar, Sebastian Voss, Thorsten Weyer, Andreas Wortmann

Open Access

3. Architectures for Flexible Collaborative Systems

Abstract
Collaborative systems are characterized by their interaction with other systems in collaborative system groups in order to reach a common goal. These systems interact based on fixed rules and have the ability to change structurally, if necessary. Changes in the collaboration are usually triggered from outside and are time-discrete with a rather wide time scale. The architectures of these systems and system groups must support flexibility and adaptability at runtime while also ensuring specific qualities, although these changes and their consequences cannot be fully foreseen in all combinations at design time.
In order to enable knowledge preservation and reuse for the design of system architectures for flexible collaborative systems and system groups, we present a method for designing reference architectures for systems and system groups. For this approach, we present an example of a reference architecture for an operator assistance system. To adequately consider safety requirements during the design, we further introduce a method which adapts safety argumentation for flexible collaborative systems to changes in their specification or operating context.
Birthe Böhm, Carmen Cârlan, Annelie Sohr, Stephan Unverdorben, Jan Vollmar

Open Access

4. Function Modeling for Collaborative Embedded Systems

Abstract
The evolution from traditional embedded systems to dynamically interacting, collaborative embedded systems increases the complexity and the number of requirements involved in the model-based development process. In this chapter, we present the new aspects that need to be considered when modeling functions for collaborative embedded systems and collaborative system groups, such as the relationship between functions of a single system and functions resulting from the interplay of multiple systems. These different aspects are represented by a formal, domain-independent metamodel. To aid understanding, we also apply the metamodel to two different use cases.
Alexander Hayward, Marian Daun, Ana Petrovska, Wolfgang Böhm, Lisa Krajinski, Alexander Fay

Open Access

5. Architectures for Dynamically Coupled Systems

Abstract
Dynamically coupled collaborative embedded systems operate in groups that form, change, and dissolve—often frequently—during their lifetime. Furthermore, the context in which collaborative systems operate is a dynamic one: systems in the context may appear, change their visible behavior, and disappear again. Ensuring safe operation of such collaborative systems is of key importance, while their dynamic nature poses challenges that do not occur in “classical” system design. This starts with the elicitation of the operational context against which the system will be designed—requiring capture of its dynamic nature—and affects all other design phases as well. Novel development methods are required, enabling engineers to deal with the challenges raised by dynamicity in a manageable way. This chapter presents methods that have been developed to support engineers in this task. The methods cover different viewpoints and abstraction levels of the development process, starting at the requirements viewpoint, and glance at the functional and technical design, as well as verification methods for the type of systems envisioned.
Malin Gandor, Nicolas Jäckel, Lorenz Käser, Alexander Schlie, Ingo Stierand, Axel Terfloth, Steffen Toborg, Louis Wachtmeister, Anna Wißdorf

Open Access

6. Modeling and Analyzing Context-Sensitive Changes during Runtime

Abstract
For collaborative embedded systems, it is essential to consider not only the behavior of each system and the interaction between systems, but also the interaction of systems with their often dynamic and unknown context.
In this chapter, we present a solution approach based on process building blocks— describing both the modelling approach as well as the model execution approach—for engineering and operation to achieve the goal of developing systems that deal with dynamics in their open context at runtime by re-using the models from the engineering phase.
Jan Christoph Wehrstedt, Jennifer Brings, Birte Caesar, Marian Daun, Linda Feeken, Constantin Hildebrandt, Wolfram Klein, Vincent Malik, Boris Wirtz, Stefanie Wolf

Open Access

7. Handling Uncertainty in Collaborative Embedded Systems Engineering

Abstract
As collaborative embedded systems operate autonomously in highly dynamic contexts, they must be able to handle uncertainties that can occur during operation. On the one hand, they must be able to handle uncertainties due to the imprecision of sensors and the behavior of data-driven components for perceiving and interpreting the context to enable decisions to be made during operation. On the other hand, uncertainties can emerge from the collaboration in a collaborative group, related to the exchange of information (e.g., context knowledge) between collaborative systems. This chapter presents methods for modeling uncertainty early in development and analyzing uncertainty during both design and operation. These methods allow for the identification of epistemic uncertainties that can occur when various, potentially heterogeneous systems are required to collaborate. The methods also enable graphical and formal modeling of uncertainties and their impact on system behavior (e.g., in the course of dynamic traffic scenarios). Furthermore, this chapter investigates the quality of outputs issued by data-driven models used to equip collaborative embedded systems with uncertainty-resilient machine learning capability.
Torsten Bandyszak, Lisa Jöckel, Michael Kläs, Sebastian Törsleff, Thorsten Weyer, Boris Wirtz

Open Access

8. Dynamic Safety Certification for Collaborative Embedded Systems at Runtime

Abstract
Traditionally, integration and quality assurance of embedded systems are done entirely at development time. Moreover, since such systems often perform safety-critical tasks and work in human environments, safety analyses are performed and safety argumentations devised to convince certification authorities of their safety and to certify the systems if necessary. Collaborative embedded systems, however, are designed to integrate and collaborate with other systems dynamically at runtime. A complete prediction and analysis of all relevant properties during the design phase is usually not possible, as many influencing factors are not yet known. This makes the application of traditional safety analysis and certification techniques impractical, as they usually require a complete specification of the system and its context in advance. In the following chapter, we introduce new techniques to meet this challenge and outline a safety certification concept specifically tailored to collaborative embedded systems.
David Santiago Velasco Moncada, Daniel Schneider, Ana Petrovska, Nishanth Laxman, Felix Möhrle, Stefan Rothbauer, Marc Zeller, Chee Hung Koo, Samira Safdari

Open Access

9. Goal-Based Strategy Exploration

Abstract
When collaborative embedded systems (CESs) connect to form a group, this collaborative system group (CSG) can achieve goals that are beyond the reach of individual systems. The goals such a group can achieve depend on the constituent collaborative embedded systems. Consequently, the ability of a collaborative system group to adapt itself is driven by the capabilities of its collaborative embedded systems. This tight interconnection impedes the manual handling of adaptation strategies. Therefore, this chapter introduces a goal-based approach for strategy exploration that considers the peculiarities of collaborative system groups and collaborative embedded systems. The chapter sets out the model-based approach to adaptive system (group) design, incorporating the goals of collaborative system groups and individual systems, and outlines corresponding automated validation methods. We demonstrate the applicability of our approach for a case example of collaborative transport robots.
Patricia Aluko Obe, Jennifer Brings, Marian Daun, Linda Feeken, Elham Mirzaei, Martin Neumann, Jochen Nickles, Simon Rösel, Markus Sauer, Holger Schlingloff, Ingo Stierand, Jan-Stefan Zernickel

Open Access

10. Creating Trust in Collaborative Embedded Systems

Abstract
Effective collaboration of embedded systems relies strongly on the assumption that all components of the system and the system itself operate as expected. A level of trust is established based on that assumption. To verify and validate these assumptions, we propose a systematic procedure that starts at the design phase and spans the runtime of the systems. At design time, we propose system evaluation in pure virtual environments, allowing multiple system behaviors to be executed in a variety of scenarios. At runtime, we suggest performing predictive simulation to get insights into the system’s decisionmaking process. This enables trust to be created in the system part of a cooperation. When cooperation is performed in open, uncertain environments, the negotiation protocols between collaborative systems must be monitored at runtime. By engaging in various negotiation protocols, the participants assign roles, schedule tasks, and combine their world views to allow more resilient perception and planning. In this chapter, we describe two complementary monitoring approaches to address the decentralized nature of collaborative embedded systems.
Samira Akili, Emilia Cioroaica, Thomas Kuhn, Holger Schlingloff

Open Access

11. Language Engineering for Heterogeneous Collaborative Embedded Systems

Abstract
At the core of model-driven development (MDD) of collaborative embedded systems (CESs) are models that realize the different participating stakeholders’ views of the systems. For CESs, these views contain various models to represent requirements, logical functions, collaboration functions, and technical realizations. To enable automated processing, these models must conform to modeling languages. Domain-specific languages (DSLs) that leverage concepts and terminology established by the stakeholders are key to their success. The variety of domains in which CESs are applied has led to a magnitude of different DSLs. These are manually engineered, composed, and customized for different applications, a process which is costly and error-prone. We present an approach for engineering independent language components and composing these using systematic composition operators. To support structured reuse of language components, we further present a methodology for building up product lines of such language components. This fosters engineering of collaborative embedded systems with modeling techniques tailored to each application.
Arvid Butting, Andreas Wortmann

Open Access

12. Development and Evaluation of Collaborative Embedded Systems using Simulation

Abstract
Embedded systems are increasingly equipped with open interfaces that enable communication and collaboration with other embedded systems, thus forming collaborative embedded systems (CESs). This new class of embedded systems, capable of collaborating with each other, is planned at design time and forms collaborative system groups (CSGs) at runtime. When they are part of a collaboration, systems can negotiate tactical goals, with the aim of achieving higher level strategic goals that cannot be achieved otherwise. The design and operation of CESs face specific challenges, such as operation in an open context that dynamically changes in ways that cannot be predicted at design time, collaborations with systems that dynamically change their behavior during runtime, and much more. In this new perspective, simulation techniques are crucially important to support testing and evaluation in unknown environments. In this chapter, we present a set of challenges that the design, testing, and operation of CESs face, and we provide an overview of simulation methods that address those specific challenges.
Emilia Cioroaica, Karsten Albers, Wolfgang Boehm, Florian Pudlitz, Christian Granrath, Roland Rosen, Jan Christoph Wehrstedt

Open Access

13. Tool Support for Co-Simulation-Based Analysis

Abstract
The development of collaborative embedded systems (CESs) requires the validation of their runtime behavior during design time. In this context, simulation-based analysis methods play a key role in the development of such systems. Simulations of CESs tend to become complex. One cause is that CESs work in collaborative system groups (CSGs) within a dynamic context., which is why CESs must be simulated as participants of a CSG. Another cause stems from the fact that CES simulations cover various cyber-physical domains. The models incorporated are often managed by different tools that are specialized for specific simulation disciplines and must be jointly executed in a cosimulation. Besides the methodological aspects, the interoperability of models and tools within such a co-simulation is a major challenge. This chapter focusses on the tool integration aspect of enabling co-simulations. It motivates the need for co-simulation for CES development and describes a general tool architecture. The chapter presents the advantages and limitations of adopting existing standards such as FMI and DCP, as well as best practices for integrating simulation tools and models for CESs and CSGs.
Karsten Albers, Benjamin Bolte, Max-Arno Meyer, Axel Terfloth, Anna Wißdorf

Open Access

14. Supporting the Creation of Digital Twins for CESs

Abstract
One important behavioral aspect of collaborative embedded systems (CESs) is their trustworthiness, which can be assessed at runtime by evaluating their software and system components virtually. The key idea behind trust evaluation at runtime is the assessment of system interactions and consideration of an extended set of actors that influence the dynamicity of these systems. In this sense, the behavior of collaborative embedded systems and collaborative system groups (CSGs) is part of a more complex behavior of digital ecosystems that form around the collaborating systems. One way of performing runtime virtual evaluation of such complex behavior is through the implementation of digital twins (DTs). DTs are executable models fed with real-time data that allow behavior to be observed and analyzed in concrete technical situations. The use of digital twins enables goals to be evaluated in holistic scenarios at three different levels: strategic level, tactical level, and operational level, as we present in this chapter.
Emilia Cioroaica, Thomas Kuhn, Dimitar Dimitrov

Open Access

15. Online Experiment-Driven Learning and Adaptation

Abstract
This chapter presents an approach for the online optimization of collaborative embedded systems (CESs) and collaborative system groups (CSGs). Such systems have to adapt and optimize their behavior at runtime to increase their utilities and respond to runtime situations. We propose to model such systems as black boxes of their essential input parameters and outputs, and search efficiently in the space of input parameters for values that optimize (maximize or minimize) the system’s outputs. Our optimization approach consists of three phases and combines online (Bayesian) optimization with statistical guarantees stemming from the use of statistical methods such as factorial ANOVA, binomial testing, and t-tests in different phases. We have applied our approach in a smart cars testbed with the goal of optimizing the routing of cars by tuning the configuration of their parametric router at runtime.
Ilias Gerostathopoulos, Alexander auf der Straße

Open Access

16. Compositional Verification using Model Checking and Theorem Proving

Abstract
Collaborative embedded systems form groups in which individual systems collaborate to achieve an overall goal. To this end, new systems may join a group and participating systems can leave the group. Classical techniques for the formal modeling and analysis of distributed systems, however, are mainly based on a static notion of systems and thus are often not well suited for the modeling and analysis of collaborative embedded systems. In this chapter, we propose an alternative approach that allows for the verification of dynamically evolving systems and we demonstrate it in terms of a running example: a simple version of an adaptable and flexible factory.
Diego Marmsoler

Open Access

17. Artifact-Based Analysis for the Development of Collaborative Embedded Systems

Abstract
One of the major challenges of heterogeneous tool environments is the management of different artifacts and their relationships. Artifacts can be interdependent in many ways, but dependencies are not always obvious. Furthermore, different artifact types are highly heterogeneous, which makes tracing and analyzing their dependencies complicated. As development projects are subject to constant change, references to other artifacts can become outdated. Artifact modeling tackles these challenges by making the artifacts and relationships explicit and providing a means of automated analysis. We present a methodology for artifact-based analysis that enables analysis of heterogeneous tool environments for architectural properties, inconsistencies, and optimizations.
Steffen Hillemacher, Nicolas Jäckel, Christopher Kugler, Philipp Orth, David Schmalzing, Louis Wachtmeister

Open Access

18. Variant and Product Line Co-Evolution

Abstract
Individual collaborative embedded systems (CESs) in a collaborative system group (CSG) are typically provided by different manufacturers. Variability in such systems is pivotal for deploying a CES in different CSGs and environments. Changing requirements may entail the evolution of a CES. Such changed requirements can be manifold: individual variants of a CES are updated to fix bugs, or the manufacturer changes the entire CES product line to provide new capabilities. Both types of evolution, the variant evolution and the product line evolution, may be performed in parallel. However, neither type of evolution should lead to diverging states of CES variants and the CES product line, otherwise both would be incompatible, it would not be possible to update the CES variants, and it would not be possible to reuse bug fixes of an individual variant for the entire product line. To avoid this divergence, we present an approach for co-evolving variants and product lines, thus ensuring their consistency.
Jörg Christian Kirchhof, Michael Nieke, Ina Schaefer, David Schmalzing, Michael Schulze

Open Access

19. Advanced Systems Engineering

Abstract
Advanced systems engineering (ASE) is a new paradigm for agile, efficient, evolutionary, and quality-aware development of complex cyber-physical systems using modern digital technologies and tools. ASE is essentially enabled by smart digital modeling tools for specifying, modeling, testing, simulating, and analyzing the system under development embedded in a coherent and consistent methodology.
The German Federal Ministry of Education and Research (BMBF) projects SPES2020, SPES_XT, and CrESt offer such a methodology and framework for model-based systems engineering (MBSE). The framework provides a comprehensive methodology for MBSE that is independent of tools and modeling languages. The framework also offers a comprehensive set of concrete modeling techniques and activities that build on a formal, mathematical foundation. The SPES framework is based on four principles that are of paramount importance: (1) Functional as well as non-functional requirements fully modeled and understood at system level. (2) Consistent consideration of interfaces at each system level. (3) Decomposition of systems into subsystems and their interfaces. (4) Models for a variety of cross-sectional topics (e.g., variability, safety, dynamics).
Manfred Broy, Wolfgang Böhm, Bernhard Rumpe

Backmatter

Additional information

Premium Partner

    Image Credits