Model-Based Engineering of Collaborative Embedded Systems
Model-Based Engineering of Collaborative Embedded Systems
Manfred Broy
Cornel Klein
Klaus Pohl
Bernhard Rumpe
Sebastian Schröck Eds.
Model-Based
Engineering of
Collaborative
Embedded Systems
Extensions of
the SPES Methodology
Model-Based Engineering of Collaborative
Embedded Systems
Wolfgang Böhm • Manfred Broy
Cornel Klein • Klaus Pohl
Bernhard Rumpe • Sebastian Schröck
Editors
Model-Based Engineering
of Collaborative
Embedded Systems
Extensions of the SPES Methodology
Editors
Wolfgang Böhm Manfred Broy
Fakultät für Informatik Fakultät für Informatik
Technische Universität München Technische Universität München
Garching, Germany Garching, Germany
This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Preface
With the transition from classical embedded systems to networked, Collaborative embedded
collaborative embedded systems (CESs), a wide range of new systems (CESs)
applications is emerging. The ability of companies to efficiently
develop CESs of the highest quality is therefore a decisive competitive
factor. However, collaboration means a leap in complexity. In addition
to the quality of the embedded system, collaborative networks that
change dynamically at runtime must also be considered. The product
success of systems with embedded software is today even more
determined by software quality. Therefore, it is essential to master the
complexity of CESs with efficient and effective methods.
As more and more domains are becoming increasingly digitalized,
technologies for software development are becoming more and more
heterogeneous. This makes it even more important for research on
software engineering in particular to provide generalized, generally
applicable methods and techniques for the various types of software
in order to provide a solid basis for growing diversification.
The modeling of systems—and here, the explicit modeling of Methodologically sound
structures, behavior, interaction patterns, dynamics, functional approach
constraints, and non-functional constraints—plays an essential role in
a methodologically sound approach to software and system
development.
In the funded projects "Software Platform Embedded Systems" SPES methodology
(SPES2020) and the follow-up project SPES_XT, the foundations for a
comprehensive methodological toolkit for the integrated model-
based development of embedded systems were developed. The
methods and tools developed in these projects allow the complexity
of embedded systems to be mastered in the development process.
v
vi Preface
Dr. Ute Bernhard and Dr. Michael Weber, as well as Mr. Dirk Günther
from the project management agency of the German Aerospace Center
(DLR) for their continuous support.
Last but not least, we would like to express our deepest thanks to
Dr. Andreas Wortmann for the excellent management of the overall
book production process.
We hope that you will enjoy reading the book and using the
knowledge presented in your daily business.
Wolfgang Böhm
Manfred Broy
Cornel Klein
Klaus Pohl
Bernhard Rumpe
Sebastian Schröck
Summer 2020
Table of Contents
1 Use Cases ……………………………………………………………………. 1
1.1 Introduction …………………………………………………….……………… 2
1.2 Vehicle Platooning …………………………………………………………….. 2
1.3 Adaptable and Flexible Factory ……………………………………………….. 6
1.4 Autonomous Transport Robots ……………………………………………… 10
2 Engineering of Collaborative Embedded Systems ……………………….. 15
2.1 Introduction ……………………………….………………………………….. 16
2.2 Background ……………………………………………………………...……. 16
2.3 Collaborating Embedded Systems ………………………………………...…. 19
2.4 Problem Dimensions of Collaborative Embedded Systems ………………… 26
2.5 Application in the Domains “Cooperative Vehicle Automation” and “Industry
4.0” ……………………………………………………..……………………… 29
2.6 Concepts and Methods for the Development of Collaborative Embedded
Systems .……………………………………....……………………………….. 37
2.7 Conclusion ………………………………….…………………….…………... 45
2.8 Literature ……………………………………………………………...………. 46
2.9 Appendix ……………………………………………………………………… 48
3 Architectures for Flexible Collaborative Systems ………………………... 49
3.1 Introduction …………………………………………………………...……… 50
3.2 Designing Reference Architectures ………………………………………….. 50
3.3 Reference Architecture for Operator Assistance Systems ……………………. 57
3.4 Checkable Safety Cases for Architecture Design …………………………….. 62
3.5 Conclusion ……………………………………………………………………. 68
3.6 Literature ……………………………………………………………………… 69
4 Function Modeling for Collaborative Embedded Systems ……………… 71
4.1 Introduction …………………………………………………………………... 72
4.2 Methodological Approach …………………………………………………… 73
4.3 Background …………………………………………………………………… 75
4.4 Metamodel for Functions of CESs and CSGs ……………………………….. 75
4.5 Evaluation of the Metamodel ………………………………………………… 82
4.6 Application of the Metamodel ……………………………………………….. 85
4.7 Related Work …………………………………………………………………. 89
ix
x Table of Contents
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.
1.1 Introduction
To derive and present the systems engineering methods described in
this volume, three different industrial use cases are used throughout
the book. These are vehicle platooning, adaptable and flexible
factories, and autonomous transport robots. In the following, we
describe each use case up to a level of detail that shows clearly how
the respective process building blocks contribute to the overall
development of the use case. For each use case, we first give some
remarks on the historical evolution of the domain, then describe
requirements and application scenarios for the use case, and finally
describe the main challenges for development to be addressed in the
rest of the book.
1 The term “SysML use case“ should not be confused with the three use cases for
collaborative embedded systems presented in this chapter. A SysML use case
describes a dedicated functionality for a certain actor.
1.2 Vehicle Platooning 5
Processing
Assembly
Quality control — for example, visual inspection
Transportation
Storage of products
Flexible production modules are capable of performing different
functions in the production chain. One example is a robot arm that can
change the tool fitted (e.g., a welding gun) for another one (e.g., a
digital camera). Adaptable production facilities are capable of
changing the way the different modules are interconnected. An
example is a mobile robot that can work in different production lines.
This example shows that in an adaptable production facility,
membership of a CES in a CSG can change dynamically.
In our use case, we consider a CSG for the production of
quadrocopters. Each product consists essentially of components from
five different classes:
Mechanical sub-components
Onboard electronic components
Motors for the rotors
Batteries
Remote control units
Each of these components is available in several different variants,
hence there are a large number of different products that can be built.
The production process consists of several steps, which are
performed either in sequence, in parallel, or independently of each
other. Typical production steps are:
Pre-assembly of rotor arms and rotor
Pre-assembly of the body, including mounting of onboard
electronics and battery
Attachment of four arms and rotors to the body
Final assembly of the full product
For each individual production step, activities such as turning,
sticking, molding, drilling, screwing, etc. are necessary. The order of
assembly of the different parts, and a production system which can
realize this production task are shown in Figures 1-2 and 1-3.
1.3 Adaptable and Flexible Factory 9
The production facility (i.e., the CSG) is structured into two main lines
and several sidelines. Each line contains several production modules
(i.e., the CESs). Each module is capable of performing different
processing tasks (joining, sticking, gluing, soldering, etc.), allowing a
flexible production of parts for different quadrocopters within one
line. Moreover, the connection between sidelines and main lines can
be adapted dynamically according to changing demands. Given a
certain sequence of quadrocopters to be produced, the modules
collaborate to accomplish this job as quickly as possible and with the
most effective use of resources. Usually, this collaboration is
orchestrated by a central manufacturing execution system (MES). The
MES assigns each specific step of the production process to an
individual production module and adapts the flow between the
production lines accordingly. However, such a centralized control
component is not really necessary; it would be feasible to imagine the
production modules distributing the workload among themselves.
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License
(http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in
any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to
the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter’s Creative Commons license,
unless indicated otherwise in a credit line to the material. If material is not included in the chapter’s Creative Commons
license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to
obtain permission directly from the copyright holder.
Birthe Böhm, Siemens AG
Wolfgang Böhm, Technical University of Munich
Marian Daun, University of Duisburg-Essen
Alexander Hayward, Helmut-Schmidt-Universität
Sieglinde Kranz, Siemens AG
Nikolaus Regnat, Siemens AG
Sebastian Schröck, Robert Bosch GmbH
Ingo Stierand, OFFIS e.V.
Andreas Vogelsang, Technische Universität Berlin
Jan Vollmar, Siemens AG
Sebastian Voss, fortiss GmbH
Thorsten Weyer, University of Duisburg-Essen
Andreas Wortmann, RWTH Aachen University
Engineering of Collaborative
Embedded Systems
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.
© The Author(s) 2021 15
W. Böhm et al. (eds.), Model-Based Engineering of Collaborative Embedded Systems,
https://doi.org/10.1007/978-3-030-62136-0_2
16 Engineering of Collaborative Embedded Systems
2.1 Introduction
New class of systems With the transition from classical embedded systems to networked,
collaborative embedded systems (CESs), new applications for
industry are emerging. The ability of a company to efficiently develop
CESs of the highest quality will therefore become a decisive
competitive factor. At the same time, this transition will lead to a leap
in the complexity of the systems under consideration. Not only single
embedded systems, but also dynamically changing networks of CESs
at runtime have to be considered. Since the success of products in the
area of embedded systems is strongly determined by their quality, it
must be possible to guarantee a high system quality despite the
increasing complexity. Therefore, it is essential to be able to control
the complexity of CESs with efficient methods. This includes suitable
methods for specification, implementation, and validation of these
systems. The development of CESs goes hand in hand with important
safety and security issues, which have to be addressed
comprehensively for a broad industrial application by relevant
development approaches.
This chapter gives an informal introduction to the challenges of
developing CESs. We start with the definition of important terms and
then describe the challenges that have to be overcome in the
development of such systems. These challenges are explained in more
detail by means of two use cases. Finally, at a high level of abstraction,
we provide an overview of selected results achieved in the CrESt
project1. Details of the results can be found in the corresponding
contributions of this book (see Section 2.6 and the Appendix).
2.2 Background
Model-based systems Model-based systems engineering (MBSE) [Selic 2003] aims to reduce
engineering the conceptual gap between problem domains (mechanical
engineering, automation, biology, law, etc.) and the solution in
software [France and Rumpe 2007], and to integrate contributions
from the participating domains. For this purpose, models—often in
the terminology of problem domains—are used as documentation.
Furthermore, development artifacts that reduce this gap with an
explicit description of problem domain concepts can be accessed with
1 Website of the CrESt project: https://crest.in.tum.de/ (available in German only)
2.2 Background 17
2 SPES distinguishes between the operational context, which in turn consists of the
structural, functional, and behavioral context, and the knowledge context (see e.g.,
[Pohl et al. 2016]). In this chapter, however, only the operational context is relevant.
18 Engineering of Collaborative Embedded Systems
3 Funded by the German Federal Ministry of Education and Research under the funding
code 01IS16043
20 Engineering of Collaborative Embedded Systems
in the SPES modeling framework (see [Pohl et al. 2016]): while the
CSG models describe the overall system and are thus located at the
highest level of granularity, the CES models are located at the next
level of granularity of the framework, and thus represent architectural
components (subsystems) of the CSG.
2.3 Collaborating Embedded Systems 21
4 For a better distinction between CES and CSG, we assume in the following that CESs,
unlike CSGs, are “static” in the sense that their functional scope and physical
architecture are already fully known at the time of design. In particular, this excludes
the possibility of nesting system networks of CSGs.
22 Engineering of Collaborative Embedded Systems
5 The “closed world assumption” describes the principle that only events that were
considered at design time occur in a context and that other events should be treated
as failures.
24 Engineering of Collaborative Embedded Systems
2.3.5 Functions
Function interface In order to fulfil the goals defined in the CESs and CSGs, different
functions that must be implemented in the CESs are required. A
function can be described at its interfaces by inducing a certain
behavior on the basis of predefined, possible inputs and thereby
generating different outputs [Broy and Stolen 2001]. The current
implementation is encapsulated by the interface and the input/output
behavior. For functions to actually be executed, they must be
implemented in an architecture.
System functions We distinguish (logically) between two classes of functions: one
subset is formed by the system functions, which can be represented at
very different levels of detail and represent the concrete end-to-end
added value compared to the system context and to the achievement
of the CSG or CES goals that a CSG or CES is capable of providing.
Collaboration functions The second class consists of the collaboration functions: prior to
collaboration, the CESs must communicate with each other, exchange
information about their possible contributions in the form of system
functions, communicate and, if necessary, adapt, negotiate, and
prioritize their goals, and define the concrete course of the
collaboration. This requires a comparison between the requirements
for goal fulfillment and available system functions. The role that each
CES will take on within the CSG must also be determined before the
actual collaboration takes place. This depends, among other things, on
which role a CES can generally take on due to its functional nature. All
these basic functions for the realization of a collaboration, and
2.3 Collaborating Embedded Systems 25
provided for how it can adapt its own functions and qualities
within the framework of the negotiated CSG objectives.
Architecture / Structure q Architecture / Structure: A CSG is an initially virtual entity that is
thought of at design time and then forms (and can dissolve)
dynamically at runtime. At design time only a conceptualization
takes place. It is realized through the interaction of the
participating CES and their architecture components.
Communication q Communication: The basic ability of the CES to communicate with
other CESs is realized by means of the collaboration functions.
Among other things, these functions also form the basis for
negotiating objectives, assigning roles and communicating
available system functions to CSG.
platoon can also contribute further system functions. This allows new
sub-functions of the platoon to be formed and the overall functionality
of the platoon to be expanded. For example, a vehicle could bring
special sensors into the platoon for better environmental monitoring,
which are then available to the platoon as a whole.
In order for a platoon to be formed, certain requirements must be
met by the participating vehicles. The preliminary design phase for
platoons must therefore define which requirements, such as wireless
communication connections, standardized communication protocol,
suitable distance sensors, must be met by the vehicles of a platoon.
Collaboration
In the following, we look at the specific challenges in the area of
collaboration using the example of a vehicle entering a platoon. Car E
wants to enter a platoon consisting of four vehicles (see Figure 2-5).
Car E must coordinate its individual goals, such as destination and Goals
cruising speed, with the platoon's common goals before entering. The
cruising speed is a soft goal, so Car E is allowed to adjust its speed to
the cruising speed of the platoon.
Upon entry, Car E is assigned its future role (usually as a following Functions and behavior
vehicle) in the platoon. It must adapt its behavior to this role. For
example, decisions on initiating acceleration, braking, and lane
changing processes are transferred from Car E to the lead vehicle.
When entering the platoon, Car E will give an entry position. This Architecture and
specification can influence and optimize the structure of a platoon — structure
for example, for an imminent exit of another vehicle.
For the entry of Car E into the platoon, extensive communication Communication
between Car E and the platoon's lead vehicle is necessary. Car E has to
express its wish to enter the platoon. The platoon has to communicate
its common goals, as well as the entry requirements, such as role and
entry position. In addition, communication is also necessary within
the platoon. Before entry, the lead car must ask the members of the
platoon, for example, to create a gap at the entry position. After Car E
has pulled in, the lead vehicle must ask the other members of the
platoon to close this gap again.
Dynamics
Let us now look at the special challenges in the area of dynamics using
the example of the entry of a vehicle (Car E) into the platoon.
The entry of Car E into the platoon may lead to adjustments to the Goals
community goals (soft goals) of the platoon. For example, Car E could
32 Engineering of Collaborative Embedded Systems
bring special sensors that can detect the environment more precisely
into the platoon, and thus enable a higher cruising speed for the entire
platoon.
Functions and behavior The entry of Car E can also lead to a change of roles within the
platoon. For example, for Car A in its role as leader, the size of the
platoon could be limited to four vehicles. For the inclusion of Car E as
the fifth vehicle, the leading role must therefore be transferred to one
of the other vehicles that supports the corresponding platoon size.
However, it could also be that Car A hands over its role as lead vehicle
to Car E after entry because Car A will leave the platoon in a short time.
Functions such as the coordination of acceleration, braking, and lane
change of the platoon then move from Car A to Car E.
Architecture and The entry of Car E changes the internal structure of the platoon,
structure such as the number and order of the participating cars. Depending on
the sensor types contained in Car E (e.g., for distance measurement),
the interfaces of the other members may have to be adapted. Interface
adaptations may also be necessary if sensors are missing or unknown
sensor types are used.
Context The context of the platoon is constantly changing. New vehicles,
traffic signs, but also unpredictable obstacles on the road can appear
at any time. In addition, new functionalities can appear in context,
such as the sensor data of a traffic control system that provide
information about the road surface. The platoon must be able to detect
these changes fast enough and adapt its behavior accordingly. With
the entry of Car E into the platoon, the context changes for the platoon
as well as for Car E and the previous vehicles of the platoon. For Car E,
the context no longer contains the platoon as a whole, but rather the
individual vehicles inside the platoon. For the vehicles of the platoon,
Car E now becomes a member of their own association.
Uncertainty Platoons operate in an open environment and must therefore deal
with a high degree of uncertainty and fuzziness. A platoon must be
able to deal with road users not yet known at the time of the platoon's
design. Road safety must be guaranteed even then. Future vehicles
with new features (such as extended information about the
environment) should be included in the platoon and their capabilities
should be able to be used.
Collaboration
In order to realize the collaboration of the modules for the joint
production of a product, numerous challenges have to be met. By
combining the very heterogeneous functions of individual modules, it
should be possible to manufacture a product that a single module
could not manufacture on its own due to its limited possibilities.
Since each individual module can make only a limited contribution Goals
to the overall production, and since these individual contributions
must be coordinated for an aggregated overall contribution,
achievable intermediate goals (such as progress in the production
process that can be achieved by the individual module) must be
defined. This requires that the modules have machine-interpretable
descriptions for their respective functions and that they exchange
these descriptions, as well as metadata (e.g., units used, qualities
provided) in the context of communication with other modules
through their collaboration functions. From these descriptions, we
can derive whether and to what extent a contribution can be made to
the production of a product.
During production, consideration must be given to the fact that the Function and behavior
sequence of functions to be performed by the modules varies
depending on the product to be manufactured. The information about
the sequence of the functions of the modules to be executed is
determined based on the production order. While, for example, in the
case of a platoon, the functions to be executed for integrating or
leaving the platoon are very similar, even with varying vehicles and
destinations, in a factory, even when manufacturing very similar
products, a geometrically determined, very different sequence of
functions may be required in production.
The production sequence as the goal of collaboration and the
resulting involvement of the modules must therefore be redefined for
each production order. For example, for the production of PO1 and
PO2, both functions of module A and module B are required. For PO1,
however, it may be necessary for module A to execute its production
functions first and module B afterwards, whereas PO2 requires the
functions of module B first and then those of module A. PO2 may even
require manual reconfiguration by an employee in the factory of
module B because a specific tool is required. This reconfiguration
must also be considered and provided for in the collaboration.
In addition to providing individual system functions, the architecture Architecture and
of factory modules also implements communication with other CSG structure
modules. While communication about platooning targets is done
dynamically at system runtime, targets of CSGs and CESs of adaptable
36 Engineering of Collaborative Embedded Systems
Dynamics
2.6.2 Collaboration
In order to support the development of CESs and CSGs in terms of
collaboration, the methodological toolbox of SPES, including the
modeling approach contained therein, was extended in CrESt. A list of
2.6 Concepts and Methods for the Development of Collaborative Embedded Systems 39
Goals
The Goal-Oriented Requirements Language (GRL) [Daun et al. 2019] Goal-Oriented
can be used to model the common goals of a CSG and the relationships Requirements Language
to the individual goals of the CES members. With the help of this
formal description, the necessary skills and key performance
indicators (KPIs) of the CSG members, whose interaction in the
context of a collaboration makes the achievement of the common
goals possible, can be derived.
In order to analyze the individual goals of potential CSG members Language for partner
or their development organizations, CrESt defined a suitable language network models
for partner network models.
In order to illustrate the variability or configurability of a CSG Combination of different
based on the configuration possibilities of its members, CrESt results variability models
allow for the combination of different variability models.
Based on these extensions of the modeling framework, specific
methods were developed to achieve the goals of a collaboration. Thus,
it is possible to determine, at runtime, whether or not a collaborative
goal can be achieved in the current CES constellation with the CES
capabilities currently available. The possibility to achieve a common
goal by making possible adjustments to the participating CESs is also
taken into account. For example, this approach can be used to
determine, for an adaptable and flexible factory, whether it is possible
to produce a product with the required quality. If not, the approach
allows a check to determine whether a suitable (re-) configuration of
the modules can make that production possible. Further details can be
found in Chapter 6.
In order to achieve a common goal of a CSG, it may be necessary
for individual members to adapt the individual goals they pursue in
order to subordinate them to those of the group. For example, in order
to reduce their own fuel consumption by participating in a platoon, all
participating vehicles must adapt their speed to the speed of the
platoon. With the help of CrESt methods, suitable strategies can be
derived and verified at runtime to optimally achieve both the common
goals of a CSG and the goals pursued by the members of the
collaborating CESs (for details, see Chapter 9 and Chapter 10).
6 The CrESt results are available on request. See: https://crest.in.tum.de/ (website
available in German only),
40 Engineering of Collaborative Embedded Systems
Support of virtual CSG The goal-oriented requirements models are used in CrESt to derive
characteristics supporting architectures of CESs and CSGs. In addition, the
architecture modeling in the framework has been extended to support
the virtual characteristics of a CSG. This means that all components of
a CSG architecture are realized by components of the participating
2.6 Concepts and Methods for the Development of Collaborative Embedded Systems 41
Communication
CESs must be able to communicate with the different partners both
within a CSG and in their environment. For example, in a platoon, the
following vehicles must be able to be instructed by the lead vehicle to
form a gap for the entering vehicle at the given position.
In CrESt, an approach has been developed to achieve semantic Semantic
interoperability between different and changing communication interoperability
partners regarding the exchanged (possibly complex) information by
means of ontologies. For example, it is important to exchange
information about the specific capabilities of the individual CES
members. The CrESt framework was therefore extended by a formal
description of the capabilities of a CES (for details, see Section 6.3 and
Chapter 7).
Safety contracts must also be communicated at runtime for safety- Safety contracts
critical systems. In CrESt, a corresponding method has been
developed for this purpose. (see Section 8.4). Furthermore, suitable
communication patterns were defined for the communication of CESs
in a CSG and made available on the basis of the Coaty middleware
framework [Coaty]. A detailed description can be found in Section
10.6.
2.6.3 Dynamics
With regard to the problem dimension dynamics, both the modeling
of CESs and CSGs and the methodological toolkit for developing these
systems have been expanded. The appendix of this document contains
a list of the methods developed in CrESt for this dimension7.
7 The CrESt results are available on request. See: https://crest.in.tum.de/ (website
available in German only).
42 Engineering of Collaborative Embedded Systems
Goals
Strategies for individual With the approaches developed in CrESt, community goals can now
and community goals be negotiated dynamically at runtime. The decisions made at runtime
are based on strategies for ensuring that individual and community
goals are achieved as well as possible. Such strategies also serve to
plan and enable adaptation at runtime based on the achievement of
goals. CrESt provides methods for deriving appropriate strategies and
operationalizing the adaptation (see also Chapter 9).
Commitments In order to achieve the common goals of a CSG, all CES members
must fulfill their commitments. Therefore, CrESt has developed
methods for assessing the risk and impact of erroneous behavior of a
CES and for ensuring that the goals are met in this case as well. In the
use case of the adaptable and flexible factory, for example, the failure
of one module must not lead to serious damage to the factory workers
and the other modules. A prerequisite for this is a method for a goal-
based review of CESs at runtime. These methods are described in
Section 10.2 and Section 8.3.4.
Context
CESs operate in a constantly changing environment to which they Context-sensitive
have to adapt their behavior. In CrESt, approaches have been variability models
developed to support the systems in adapting and using context
information. The creation of context-sensitive variability models
facilitates the search for a valid CSG configuration for a changed
context.
Another approach combines the use of digital twins with Digital twins
predictive simulation using the perceived context to find the optimal
44 Engineering of Collaborative Embedded Systems
configuration for each situation (Section 3.2, Chapter 15, and Section
10.3).
Runtime-specific In addition, methods have also been developed to observe and
context models evaluate the effects of context changes on the system and its behavior
at runtime (see Section 8.3.1). These are based on the modeling of
runtime-specific context models. The CrESt framework now also
supports sufficient testing of adapting systems in a dynamic
environment. Further details can be found in Chapter 6.
Uncertainty
2.7 Conclusion
Within the CrESt project, important concepts of collaborative
embedded systems were identified. From the resulting specific
challenges, a number of key features (such as goals, communication,
uncertainty) were developed. The methodological building blocks
developed, as well as the extensions of existing building blocks, focus
on addressing these challenges and were assigned to the main
features.
A specific, somewhat more restrictive system concept was Restrictive assumptions
deliberately chosen as the basis for the work. On the one hand, the
assumption was made that a CES collaborates in at most one CSG at
any given time. On the other hand, hierarchical CSGs (i.e., system
networks of system networks) were excluded from the analysis. For
many use cases, including those considered in the project, these
assumptions are quite practical. Future work in this topic area should
look more closely at these limitations.
Increasingly, methods of artificial intelligence (AI) are being used Integration of AI
in embedded systems. The AI methods (for example, machine technologies
learning, deep learning, data analytics, semantic technologies) are as
diverse as their applications. These range from the analysis and
classification of existing situations to the interpretation and
evaluation, diagnosis and prognosis, and the creation of proposals for
action and independent action in the sense of autonomous systems.
The use of AI technologies makes it possible to process incoming
information appropriately and to adapt to changing conditions at
runtime.
A central challenge for the integration of AI technologies in CESs
and CSGs is to guarantee the essential functionality and quality
characteristics of the systems. In general, the behavior of AI methods
cannot be completely determined at development time. Therefore, it
is unclear which adaptations the systems make at runtime and in what
way this influences the collaboration and dynamics of the CESs and
CSGs. An interesting question here is whether and how the necessary
conceptual development of the CSG level can be replaced by the use of
AI methods at runtime.
Furthermore, the integration of AI components in the context of Novel challenges
uncertainties leads to novel effects and challenges that have to be
considered as early as development time. These include, for example,
data that is not 100% trustworthy (i.e., data with undetected
systematic deviations or fuzziness), non-deterministic behavior,
runtime variances, malicious misinformation, and commands from
46 Engineering of Collaborative Embedded Systems
2.8 Literature
[Bandyszak et al. 2020] T. Bandyszak, M. Daun, B. Tenbergen, P. Kuhs, S. Wolf, T. Weyer:
Orthogonal Uncertainty Modeling in the Engineering of Cyber-Physical Systems. In:
IEEE Transactions on Automation Science and Engineering, IEEE 2020.
[Broy and Stolen 2001] M. Broy, K. Stolen: Specification and Development of Interactive
Systems: Focus on Streams, Interfaces, and Refinement, Springer 2001.
[Broy 2010] M. Broy: A Logical Basis for Component-Oriented Software and Systems
Engineering. In: The Computer Journal, vol. 53, no. 10, 2010, pp. 1758-1782.
[Grosz 1996] B. J. Grosz: Collaborative Systems. In: AI Magazine, vol 17, no 2, 1996.
[Horkoff et al. 2019] J. Horkoff, F. Başak Aydemir, E. Cardoso, T. Li, A. Maté, E. Paja, M.
Salnitri, L. Piras, J. Mylopoulos, P. Giorgini: Goal-Oriented Requirements Engineering:
An Extended Systematic Mapping Study. In: Requirements Engineering 24, 2 (June
2019), 2019, pp. 133–160.
[Keet et al. 2013] C. M. Keet, W. Dubitzky, O. Wolkenhauer, K.-H. Cho, H. Yokota: Open
World Assumption. In: Encyclopedia of Systems Biology, Springer, New York, 2013.
[Plattform Industrie 4.0 2017b] Platform Industrie 4.0: Aspects of the Research
Roadmap in Application Scenarios. BMWi. https://www.plattform-
i40.de/I40/Redaktion/EN/Downloads/Publikation/aspects-of-the-research-
roadmap.pdf; accessed on 04/04/2020.
[Pohl et al. 2016] K. Pohl, M. Broy, H. Daembkes, H. Hönninger (Eds.): Advanced Model-
Based Engineering of Embedded Systems: Extensions of the SPES2020 Methodology,
Springer, Heidelberg/New York, 2016.
[SafeTRANS 2019] SafeTRANS e.V.: Safety, Security, and Certifiability of Future Man-
Machine Systems, 2019.
[Selic 2003] B. Selic: The Pragmatics of Model-Driven Development. In: IEEE Software,
20(5), IEEE 2003, pp. 19-25.
48 Engineering of Collaborative Embedded Systems
2.9 Appendix
In the CrESt project, methods and building blocks for modeling
collaborative systems and system networks were developed. The
documents containing a detailed description of the project results can
be requested via the project website (https://crest.in.tum.de/,
website available in German only).
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License
(http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in
any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to
the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter’s Creative Commons license,
unless indicated otherwise in a credit line to the material. If material is not included in the chapter’s Creative Commons
license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to
obtain permission directly from the copyright holder.
Birthe Böhm, Siemens AG
Carmen Cârlan, fortiss GmbH
Annelie Sohr, Siemens AG
Stephan Unverdorben, Siemens AG
3
Jan Vollmar, Siemens AG
3.1 Introduction
Designing architectures for flexible collaborative systems and their
system groups is still a challenge due to the novelty of these systems
and a lack of proven methods that address their specific requirements
[Böhm et al. 2018]. This applies in particular to the design of system
groups and the systems collaborating within these groups.
Characteristics of Flexible collaborative systems assume a fixed collaboration that
flexible collaborative adheres to a fixed set of rules. Changes are usually triggered not from
systems
the system itself but, for example, by an operator of this system. These
changes are not as frequent as in dynamically coupled or adaptive
systems. Typical examples of flexible collaborative systems are
adaptable and flexible factories.
In Section 3.2, we provide a method for designing reference
architectures for collaborative embedded systems (CESs) and
collaborative system groups (CSGs). Such reference architectures can
then be used as blueprints for deriving system architectures for
specific systems. In addition, they can be used to design specific CSGs
and collaborating CESs at an interface level to allow for independent
design and development of the CESs and CSGs but enable their
collaboration. We then apply this approach to adaptable and flexible
factories, and briefly present the resulting high-level logical reference
architecture. This overview is detailed in Section 3.3 by applying the
approach to one of the CESs identified, a simulation-based operator
assistance system.
For numerous CESs and their CSGs, safety requirements are crucial
and must be guaranteed. Our proposed safety case modeling approach
in Section 3.4 supports the execution of automatic consistency checks
between the safety case model and the system architecture. This
approach can be used to prove that the architecture of a system
satisfies the required safety properties. It ensures that, in the event of
changes to the system specification or the operating context, the
logical architecture still fulfills the safety requirements.
Finally, in Section 3.5, we provide conclusions and give an outlook
on future work.
Fig. 3-1: General approach for designing reference and system architectures
As a first and critical step within the requirements viewpoint for Scope definition
defining reference architectures, we define the scope of systems for
which the reference architecture will be defined. This means that we
need to forecast the future systems for which we want to use the
reference architecture as a blueprint.
Next, we determine which kind of reference architecture we want Key design decisions for
to design. There are several key design decisions that have to be taken, reference architectures
for example:
Coverage: Reference architectures can, for example, cover a
common core of all considered systems, offer combinable and
reusable building blocks, or provide a solution that will cover all
requirements of all considered systems and is then tailored to fit
to one specific system.
Extensibility: Reference architectures may, for example, allow
white box extensibility, which means that its components can be
fully adapted. On the other hand, only black box reuse that does
not allow any internal modifications may be allowed. Other forms
include grey box reuse, which is a mixture of both.
Granularity: The level of granularity of the reference architecture
must also be decided. The goal is to be as detailed as possible
while still covering the future system architectures for the
intended set of systems. A reference architecture may, for
example, define only interfaces of systems or components or
provide a full detailing of all systems.
Viewpoints: Consequently, the reference architecture may define
views of the requirements viewpoint only, or also comprise views
of the functional, logical, technical, and other viewpoints. While a
reference architecture that covers all viewpoints would appear to
be the best option, it also allows less changeability or requires
more effort if there are frequent changes.
These key design decisions mainly depend on the similarity of the set
of systems and their requirements.
Subsequently, further requirements are elicited for the reference Further requirements
architecture based on the decisions made above. In addition, even elicitation considers the
scope of systems
requirements of the set of selected systems that are not implemented
by the reference architecture may have to be considered to prepare
their later implementation. For collaborative systems in particular,
the CSG must be considered as well as the CESs — for both CSG and
CES design. This results from the general concept described in
Chapter 2. If a CES is to contribute to different CSGs, all relevant CSGs
have to be involved.
54 Architectures for Flexible Collaborative Systems
Functional architecture On this basis, we then extract the necessary functions of our
reference architecture while also considering the collaboration and
system functions for both CSGs and CESs. It is important to keep the
relations between requirements and functions, and further on, to
logical and technical components, as traces. These traces allow us to
check, for example, whether all requirements are implemented by
functions or logical and technical components. Vice versa, in the case
of changes to the technical solution, the traces also enable us to check
whether all requirements are still fulfilled.
Logical architecture Based on the functional architecture, we create a logical
architecture for the set of selected systems. Within this logical
architecture, the CSGs are usually logical components and are
composed by the CESs.
Technical architecture Finally, a technical reference architecture may be created. Since
CSGs are virtual, the collaboration and system functions have to be
implemented by the CESs. For all architecture viewpoints, it is crucial
to document design decisions and trace the relationships between the
different viewpoints and between the elements in the viewpoints. We
then refine any viewpoints as far as possible.
Deriving system Once the reference architecture is created, we can use it to derive
architectures from system architectures for future systems. Again, we need to elicit
reference architectures
requirements but now for a specific system we want to build. We then
compare these requirements with the requirements for our reference
architecture and identify similarities as well as differences.
Subsequently, we assess these similarities and differences while
keeping in mind the parameters for our reference architecture. By
using the traces between all architectural components, we can then
customize the reference architecture by following the traces and
adjusting the elements with divergent or refined requirements — if
our extensibility concept permits these adaptions. In addition, we
have to integrate new requirements which have not been considered
in the reference architecture but are needed for the specific system
[Unverdorben et al. 2019].
Since just one requirement has changed, we still want to use the reference
architecture for this factory. Therefore, we identify the changed
requirement in the reference architecture and follow the traces to related
requirements (e.g., alarms will be displayed in a flat list), functions, and
logical and technical components. In our example, we find that all
requirements dedicated to the data collection are still applicable and the
related functions and logical and technical components can remain
unchanged. However, the requirements that address data preparation for
the operator must be replaced by, firstly, data analysis and, secondly, an
adapted user interface for the operator. This affects the related functions
but also the logical and technical components. For example, an additional
data analysis function is introduced which is assigned to a logical data
analysis component. In the technical solution, this logical component is
realized by an additional software component.
The CSGs within the reference architecture for adaptable and flexible
factories have the following goals and define, accordingly, the
following functions:
ProductionCSG: The goal of this CSG is the manufacture of a
product specified within a production order. For this purpose, it
realizes functions for analyzing incoming product orders with
respect to producibility and additional constraints such as
delivery dates, price, etc. It also contains functions, for example,
for maintaining a production plan for this product, tracking the
production, and collecting data for operation control.
ProductionOptimizationCSG: The main goal of this CSG is to
optimize the production of the factory. Therefore, it realizes
operator support functions—for example, detecting bottlenecks,
failures, or unused capacities in production—and deduces
measures based on these observations. A close interaction
between this CSG and the operator is crucial and may be realized
3.3 Reference Architecture for Operator Assistance Systems 57
Fig. 3-6: Workflow (upper part) and data flow (lower part)
Given a change in a system model that is traced from the safety case
model, consistency checks between the safety case model and the
system models are automatically executed. These consistency checks
assess whether the argumentation is still valid considering the
changes in the system model that the argumentation applies to. Then,
the safety engineer must update the safety argument in accordance
with the changes, while also generating the evidence required. Given
that system models are amenable to automated checks, the results of
such checks can be used as evidence in safety cases. Therefore, we
integrate safety case models with such automated verification
approaches, thus enabling 1) automatic detection of stale evidence,
and 2) automatic integration of new verification results as evidence,
while assessing the impact of the new evidence on the confidence in
the overall argumentation.
Checkable safety cases Checkable safety case models entail both checkable and non-
entail checkable and checkable argumentation fragments that are connected with each
non-checkable
other. On the one hand, non-checkable argumentation fragments
argumentation
fragments entail regular safety case elements, as defined by the Goal Structuring
Notation (GSN) — a standardized graphical notation for describing
safety cases and currently the most frequently used language for
3.4 Checkable Safety Cases for Architecture Design 65
modeling safety cases [GSN 2018]. On the other hand, checkable safety
case fragments entail a set of interconnected specialized safety case
elements. Specialized safety case elements extend GSN, with each
specialized element representing a reoccurring claim in safety cases,
thus having certain semantics. Specialized safety case elements
reference certain types of system model elements or entail metadata
regarding certain verification approaches. They may be connected to
each other only via specialized connections, which extend the
connections specified in GSN. In contrast to GSN-based connection
types that ensure the correct construction of arguments from a
semantic point of view, specialized connections enable intrinsic
checks on safety case models, which ensure the construction of
semantically correct arguments.
3.5 Conclusion
In this chapter, we presented a general method for designing
reference architectures and deriving system architectures for CESs
and their CSGs in order to support reuse of system architectures. In
addition, the method can be used to design a CSG and the interfaces of
collaborating CESs within this CSG. In a next step, the architectures of
the CES can be refined based on the reference architecture. This
enables the integration of CESs of different organizations within one
CSG. As an application example, we provided a short overview of the
reference architecture for adaptable and flexible factories, detailed by
a CES implementing an operator assistance system. The technical
reference architecture for this CES shows the reuse potential for
various operator assistance systems and provides a promising basis
for future systems.
In order to consider non-functional requirements in the system
architecture, we also introduced checkable safety case models. These
checkable safety cases support maintenance of the validity of safety
case models and keep them consistent with system architecture. This
method may be used for the construction of the safety argumentation
system architectures based on reference architectures.
In addition to the methods presented, we also developed
prototypical tools which support and facilitate the application of the
methods. The methods and reference architectures presented in this
chapter have been applied successfully but should nevertheless be
3.6 Literature 69
applied to other CESs and their CSGs to prove their benefits. Future
research may extend them beyond their current scope, for example,
by involving artificial intelligence as design support as well as
considering artificially intelligent CESs and CSGs in particular.
3.6 Literature
[Bloomfield and Bishop 2010] R. Bloomfield, P. Bishop: Safety and Assurance Cases:
Past, Present and Possible Future – an Adelard Perspective. In: Making Systems
Safer, Springer, London, 2010, pp. 51-67.
[BMWi 2017a] BMWi: Platform Industrie 4.0 – Aspects of the Research Roadmap. In
Application Scenarios. https://www.plattform-i40.de/I40/Redaktion/EN
/Downloads/Publikation/aspects-of-the-research-roadmap.pdf; accessed on
07/07/2020.
[Böhm et al. 2020] B. Böhm, J. Vollmar, S. Unverdorben, A. Calà, S. Wolf: Holistic Model-
Based Design of System Architectures for Industrial Plants. In: VDI – Verein
Deutscher Ingenieure e.V. (eds.): Automation 2020, Baden-Baden, 2020.
[Boschert et al. 2018] S. Boschert, R. Rosen, C. Heinrich: Next Generation Digital Twin.
In: Proceedings of the 12th International Symposium on Tools and Methods of
Competitive Engineering — TMCE 2018, Delft, 2018, pp. 209-218.
[ISO 2018] International Organization for Standardization (ISO): 26262: Road Vehicles
- Functional Safety.
[Kelly and McDermid 2010] T. Kelly and J. McDermid, "Safety case patterns-reusing
successful arguments," IEE Colloquium on Understanding Patterns and Their
Application to Systems Engineering (Digest No. 1998/308), London, UK, 1998, pp.
3/1-3/9.
[Lin et al. 2017] S.-W. Lin, M. Crawford, S. Mellor (Eds.): The Industrial Internet of
Things Volume G1: Reference Architecture. Industrial Internet Consortium (IIC)
Technology Working Group, 2017. http://www.iiconsortium.org/
IIC_PUB_G1_V1.80_2017-01-31.pdf; accessed on 07/07/2020.
[Rosen et al. 2018] R. Rosen, S. Boschert, A. Sohr: Next Generation Digital Twin. In: atp
magazin, Atp-Mag. 60, 2018, pp. 86–96.
[Rosen et al. 2019] R. Rosen, J. Jaekel, M. Barth, O. Stern, R. Schmidt-Vollus, T.
Heinzerling, P. Hoffmann, C. Richter, P. Puntel Schmidt, C. Scheifele: Simulation und
Digitaler Zwilling im Engineering und Betrieb automatisierter Anlagen -
Standpunkte und Thesen des GMA FA 6.11. In: VDI – Verein Deutscher Ingenieure
e.V. (eds.): Automation 2019, Baden-Baden, 2019 (available in German only).
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License
(http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in
any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to
the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter’s Creative Commons license,
unless indicated otherwise in a credit line to the material. If material is not included in the chapter’s Creative Commons
license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to
obtain permission directly from the copyright holder.
Alexander Hayward, Helmut Schmidt University Hamburg
Marian Daun, University of Duisburg-Essen
Ana Petrovska, Technical University of Munich
Wolfgang Böhm, Technical University of Munich
Lisa Krajinski, University of Duisburg-Essen
Alexander Fay, Helmut Schmidt University Hamburg
4.1 Introduction
In modern development methodologies for complex systems, the
modeling of functions represents a historically grown and proven way
of dealing with large quantities of requirements that need to be taken
into account. A function can be used to describe the purpose of a
system at different levels of detail.
The SPES projects The SPES2020 and SPES_XT projects (cf. [Pohl et al. 2012, Pohl et
al. 2016]) have already developed a comprehensive set of science-
based methods for modeling and analyzing functions of embedded
systems, with a special focus on consistency and semantic coherence
as part of a comprehensive methodological framework. The methods
are based on the assumption that the embedded systems under
development are to be integrated into a static context that is well
known at the time of development.
Goal fulfillment via The additional assumption considered in CrESt—that individual
collaboration systems no longer achieve the goals1 associated with them alone, but
rather by collaboration with other systems—results in a range of new
challenges for which the existing SPES modeling framework is no
longer sufficient and needs to be extended.
CES and CSG A collaborative embedded system (CES), collaborating with other
CESs that may be instances of different system types, should be able
to achieve goals that 1) the CES could not achieve alone, or 2) could be
achieved more easily or better by combining their functions with
other CESs. For collaboration, the participating CESs form a common
group, referred to as a collaborative system group (CSG). Since a CSG
constitutes itself dynamically at runtime and its members, goals, and
functions can change, methods for mastering the complexity are
particularly necessary for modeling functions at CSG level.
Outline In this chapter, we describe the new aspects that have to be
considered when modeling functions for both CESs as well as the
resulting CSG. To describe these aspects systematically, we use a
metamodel. With regard to the derivation of this metamodel, Section
4.2 describes the requirements and aspects on which it is based. In
Section 4.3, we provide further background information. We then
present the metamodel on a domain-independent level in Section 4.4
and evaluate it in Section 4.5. To enable a better understanding of the
metamodel, we apply it to two use cases in Section 4.6, and this is
Reason: This method focusses on the definition of goals for the individual
CESs as well as for the CSG. In the relationship between the CSG goals and
the CES goals, it must be ensured that every CSG goal can be
operationalized. Therefore, goals are refined into tasks, which represent
abstract definitions of functions to be implemented.
4.4 Metamodel for Functions of CESs and CSGs 75
4.3 Background
Our work builds on results from the SPES projects that provide a SPES modeling
framework that enables seamless model-based engineering of framework
embedded systems (cf. [Pohl et al. 2016]). The SPES modeling
framework includes a functional viewpoint for specifying the system’s
functionality. The system’s functionality is elicited from the
requirements in a preceding requirements viewpoint. Our metamodel
builds on this background work.
To a large extent, the SPES modeling framework is based on a FOCUS theory
formal theory called FOCUS, which provides models and formalisms
for specifications and the development of distributed interactive and
dynamic systems. FOCUS establishes a formal semantics that serves
as a common ground for also giving means to functional behavior. In
FOCUS (cf. [Broy and Stølen 2012], and [Broy 2014]), a system’s
interface is determined by the system’s boundary. The syntactic
interface describes the set of input and output channels and the
message types that these channels transport across the system’s
boundary. The system’s functionality is described by the interface
behavior, which can be observed at the system’s boundary and which
is defined by the history of streams of messages across the input and
output channels. The histories of the streams of messages across the
input and output channels capture the system’s interface behavior.
Accordingly, the interface behavior models system functionality that
can be observed.
2 Note: CESs and non-CESs are always related to a specific type of CSG: a system can be
collaborating with respect to a given type of CSG and a non-CES for another type of
CSG.
4.4 Metamodel for Functions of CESs and CSGs 77
Fig. 4-3: Metamodel for functions of CESs and CSGs [Hayward et al. 2020]
78 Function Modeling for Collaborative Embedded Systems
Functional architecture Every system (i.e., each CES, each CSG, each non-CES) has a functional
architecture that contains all the functions of the system and describes
how the functions interact with each other to achieve goals. This
means that each individual CES consists of a functional architecture
(cf. [Pohl et al. 2016]) which is therefore part of the larger functional
architecture of the CSG.
4.4.2 Functions
Functions have Systems can be described on different levels of detail by their
interfaces functions [VDI 2221]. Functions describe the behavior of a system
through the interrelation between input and output variables [VDI
2222]. A function has a syntactic interface, through which it can take
up information, material, or energy, transform it and output it again.
Depending on the domain, the understanding of the term function can
vary slightly in detail but this definition is valid at this general level
[Eisenbart et al. 2012].
Functional In the classical design methodology according to [Pahl et al. 2013]
decomposition as well as in today's model-based system development [Vogelsang
2015], [Meissner et al. 2014], functions are derived from
requirements lists and models during an early design phase to capture
the required functionality of the CES. Since specific solution principles
can be derived only to a very limited extent based on these abstract
functions, the functions are further decomposed into sub-functions,
which can also be further subdivided, thus forming a hierarchy. These
sub-functions again have interfaces through which they are
connected. The functional hierarchy is called functional architecture.
The functions and the resulting functional architecture can be used to
describe what a system should be able to do. Additionally, the
interface behavior can be used to describe which states, state
transitions, and functional dependencies functions have [Eisenbart et.
al. 2012].
Functions and A CES no longer performs certain functions alone; it performs
collaboration them in collaboration with other CESs. For this purpose, the CESs form
a CSG and thereby provide their functions (CES function) to each other
to achieve a common goal. The CSG can be considered as a system on
its own again with components and functions (CSG function). These
functions of the CSG are realized by CES functions and result from the
interplay between the collaborating systems. While the functions of
individual CESs can be modeled and realized during design time, the
functions of the CSG are only constituted through collaboration
between several CESs at runtime. By modeling CSG functions, we can
4.4 Metamodel for Functions of CESs and CSGs 79
4.4.4 Roles
Roles enable assignment Another concept that supports modeling and implementation of CSGs
of responsibilities is that of roles. Within a CSG, different functions are needed to achieve
the CSG goals. Roles can be used to define, within the CSG, which
collaborating system is responsible for which CES functions and thus
for which goals. CESs assume roles when they join the CSG. A single
CES can potentially assume one or more roles within a CSG at the same
time. The roles allow the definition of the necessary CES functions and
thus the necessary behavior of the individual collaborating systems
[Weiß et al. 2019, Regnat et al. 2019].
Potential roles and A CES that has assumed a certain role within the CSG (current role)
current role is responsible for the role-related functions. If a CES leaves a CSG (e.g.,
intentionally or due to an error), but the functions associated with its
role must still be provided, it may be necessary for another CES, which
has the necessary functions, to change its current role. This role
change is only possible if the functions of this subsequent CES allow
(potential role), it to assume the role from the leaving CES. These
processes are only possible if the CESs involved in the CSG have a
common understanding of the roles to be assumed.
3 Note: The terms hard goal and soft goal are used differently here as compared to goal
modeling literature: hard goals are not subject to negotiation and are in a sense
“static,” while soft goals may be dynamically negotiated and changed in order to
cooperate in a CSG.
4.4 Metamodel for Functions of CESs and CSGs 81
to the internal and external events in order for the systems to continue
meeting their functional specifications while preserving the
performance (or another quality objective) — despite all the changes
that the system may encounter during runtime [Petrovska and
Pretschner 2019].
Adaptation logic The adaptivity is enabled by the adaptation logic, which is a
necessary precondition for a system to adapt to these changing
situations. If the adaptation is triggered manually by an external user
or administrator (a human assumes the role of an adaptation logic),
then this is referred to as a system reconfiguration. In contrast, if the
adaptation is triggered and executed by the system itself, in an
automated manner, without any user interaction, then we call it self-
adaptation [Petrovska et al. 2020]. Specifically, in our metamodel, we
consider the adaptation logic to be a collaboration function which
adapts the functions and the behavior of the CESs and the CSG through
the collaboration of the systems.
4.5.1 Abstraction
implemented in a CES, as the CSG relies on the CESs for any kind of
resource. In addition, the distinction between collaboration function
and system function also indicates different levels of granularity to
describe functional properties.
Each function is defined by its behavior and its interface. This allows
us to check the compatibility of functions. Furthermore, as outlined
above, sophisticated relationships between functions, systems, CES
functions, and CSG functions can be defined.
4.6 Application of the Metamodel 85
Figure 4-11 shows an excerpt of the goal model for the CTRF. When GRL goal modeling
applying GRL, these tasks can be divided into further tasks to allow a
more detailed specification. In terms of the metamodel, these tasks
can be considered as functions. The individual tasks of the CTR
presented here correspond to system functions in the metamodel. The
functions for communication between the CTRs within the CTRF that
are not shown here correspond to the collaboration functions.
The CTR pursues the goal to optimize their current goods Differentiate between
transportation. The goal can be fulfilled when the CTR performs the goals and tasks
different tasks shown. The CTRF pursues the goal to optimize the
goods transportation of all participating CTRs. As these goals are
interdependent, they are linked in the goal model by a bidirectional
dependency (shown by the two Ds on the connecting line). The task
optimal order acceptance decision has some positive influence on the
goal optimal current resource usage and is therefore displayed as a
contribution arrow marked with the plus icon. While this refers
mainly to the goal part of the metamodel, the relation to functions is
made clear as the tasks define what functions need to be implemented
to fulfill which goals.
4.8 Conclusion
The new challenges in the model-based development of embedded
systems arising from collaboration make it necessary to adapt and
extend existing modeling languages. In this chapter, we showed the
aspects to be considered in the modeling of functions for CESs and
CSGs in a metamodel. We then evaluated this metamodel and
illustrated it using two examples from the use cases of the adaptable
and flexible factory and autonomous transport robots. Based on the
metamodel, specific extensions of modeling languages can be
executed. Depending on domain-specific requirements, methods for
the application of these extended modeling languages can be
developed. The use case examples presented in this chapter will be
used as a basis for further research.
4.9 Literature 91
4.9 Literature
[Brings et al. 2019] J. Brings, M. Daun, T. Bandyszak, V. Stricker, T. Weyer, E. Mirzaei, M.
Neumann, J. S. Zernickel: Model-Based Documentation of Dynamicity Constraints
for Collaborative Cyber-Physical System Architectures: Findings from an
Industrial Case Study. In: Journal of Systems Architecture - Embedded Systems
Design, vol. 97, 2019, pp. 153–167, DOI: 10.1016/j.sysarc.2019.02.012.
[Broy and Stølen 2012] M. Broy, K. Stølen: Specification and Development of Interactive
Systems: Focus on Streams, Interfaces, and Refinement. Springer Science &
Business Media, 2012.
[Broy 2014] M. Broy: A Model of Dynamic Systems. In: From Programs to Systems. The
Systems Perspective in Computing, pp. 39-53. Springer, Berlin, Heidelberg, 2014.
[Daun et al. 2019a] M. Daun, T. Weyer, K. Pohl: Improving Manual Reviews in Function-
Centered Engineering of Embedded Systems Using a Dedicated Review Model. In:
Software and Systems Modeling, vol. 18, no. 6, 2019, pp. 3421–3459, DOI:
10.1007/s10270-019-00723-2.
[Erden et al. 2008] M.S. Erden, H. Komoto, T. J. van Beek, V. D'Amelio, E. Echavarria, T.
Tomiyama: A Review of Function Modeling: Approaches and Applications. Ai
Edam 22, no. 2, 2008, pp. 147-169.
[Pahl et al. 2013] G. Pahl, W. Beitz, J. Feldhusen, K.H. Grote: Methoden und Anwendung
erfolgreicher Produktentwicklung. 8. Aufl., Heidelberg: Springer. 2013 (available
in German only).
[Regnat et al. 2019] Regnat, N. et. al.: Seamless Model-Based Approach - MQ1.AP2.D4.
Published by Subproject MQ1 in CrESt. Internal Project Deliverable of CrESt, 2019.
[VDI 2221] VDI Guideline 2221: Systematic Approach to the Development and Design
of Technical Systems and Products, 1993.
[VDI 2222] VDI Guideline 2222 Blatt 1:1997-06: Methodic Development of Solution
Principles, 1997.
[Weiß et al. 2019] S. Weiß et. al.: Modeling of Dynamics in the Open Context of
Collaborative Embedded Systems – EC4.AP2.D3. Published by Subproject EC4 in
CrESt. Internal Project Deliverable of CrESt, 2019.
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License
(http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in
any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to
the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter’s Creative Commons license,
unless indicated otherwise in a credit line to the material. If material is not included in the chapter’s Creative Commons
license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to
obtain permission directly from the copyright holder.
Malin Gandor, OFFIS e.V.
Nicolas Jäckel, FEV Europe GmbH
Lorenz Käser, PikeTec GmbH
Alexander Schlie, TU Braunschweig
5
Ingo Stierand, OFFIS e.V.
Axel Terfloth, itemis AG
Steffen Toborg, PikeTec GmbH
Louis Wachtmeister, RWTH Aachen University
Anna Wißdorf, PikeTec GmbH
96 Architectures for Dynamically Coupled Systems
5.1 Introduction
Dynamically coupled collaborative embedded systems (CESs) have to
function safely in collaborative system groups (CSGs) that form,
change, and dissolve during the lifetime of the CESs. The members of
a vehicle platoon, for example, typically change frequently. CESs and
the corresponding CSGs must therefore be able to deal with internal
dynamics as well as those of the operational context. Here, dynamics
refers to a specific notion of the term that subsumes the following
aspects:
Structure: the elements of the CES or CSG under consideration and
their interaction and dependencies. For example, elements of the
context can become part of the system group and emerge from it by
leaving the group.
Function/behavior: the services offered by the CES or CSG, and the
dependencies to the services in its context.
The above-mentioned aspects are indeed closely related. Systems
form system groups in order to achieve overarching goals (as defined
in Chapter 2). Vehicles, for example, may join a platoon in order to
optimize space usage and traffic flow, which changes the internal
system structure of the platoon. A car that drives in a platoon requires
functions—such as certain coordination functions—that are different
to those needed to drive independently. The functional aspect also
concerns the visible behavior of the context, which may also
dynamically change. CESs and CSGs must be able to change their
behavior accordingly. In some application domains, such as in the
traffic example, this aspect subsumes the perceived “intention” of
other traffic participants.
Challenges addressed This chapter focusses on three challenges that arise from
dynamicity for the development of collaborative embedded systems.
First, systems are typically designed against a context that impacts the
definition of requirements, for example, the temperature range in
which the system must be able to work. Defining such specifications
becomes a complex task for dynamically coupled systems. The
complexity results not only from the context dynamics, with changing
context structures and behavior, but also from the system itself, which
may dynamically become part of a larger system (group) and leave it
again. At the end of this progression, we are faced with the problem of
designing systems against open contexts that cannot be fully
anticipated at design time.
5.1 Introduction 97
Fig. 5-1: Method overview
98 Architectures for Dynamically Coupled Systems
* * * Property
Behavior Type
* Event
behavior of
Scenario Behavior *
1 Collaboration
Scenario System Type System Interface
Scenario Type
Statechart
instance of
1 1 1
Scenario * *
Operation
System Instance System Port interface
Protocol State
Machine * System provided 1 1
Connection required
1 behavior of
5.2 Specification Modeling of the Behavior of Collaborative System Groups 99
scenario PlatoonOfThree {
instance leadVehicle : PlatoonMember
instance midVehicle : PlatoonMember
instance backVehicle : PlatoonMember
100 Architectures for Dynamically Coupled Systems
@scenario op joinToSingleLead() {
leadVehicle.velocity = 40
// after some time the platoon is cruising with the second car
// velocity and constant distance.
time.proceed( seconds(20) )
assert (midVehicle.velocity == leadVehicle.velocity )
assert (leadVehicle.location.X - midVehicle.location.X == 55 )
}
5.2 Specification Modeling of the Behavior of Collaborative System Groups 101
102 Architectures for Dynamically Coupled Systems
specifies
asLeader
CACControl
System interface System interfaces define the elements that exist in the interface and
contracts are used by the interaction of CESs. The proven concept of protocol
state machines (PSMs) [Franca 2019] allows specification of the
dynamic behavior of system interfaces and can be used to ensure that
the communication peers involved interact in the proper order.
CSG contracts validation The behavioral part of a CSG collaboration specification is made up
of all scenario operations, scenario statecharts, and PSMs. The
scenario-based modeling approach is inherently incremental, which
involves incremental specification, development, and integration of
dynamically coupled CSGs and CESs. Additionally, all behavior models
are inherently executable. All models described can be jointly
executed within a simulation without any further behavioral model.
This already serves as a basis for analysis methods that check the
properties and consistency of the specification itself. Moreover, if the
specification models of the CSG are executed together with the
behavioral models of the CESs (e.g., using co-simulation), then
conformity and consistency of the CESs with the CSG specification can
be checked automatically. This allows a complete specification of the
collaborative behavior of a CSG for all known aspects in a dynamic
context, which is a precondition for the verification of the CES
behavior within a CSG. Comparable to PSMs that define an interaction
contract for single interaction relations, the collaboration scenarios
defined by a CSG specification form the collaboration contract for all
CESs involved.
5.3 Modeling CES Functional Architectures 103
104 Architectures for Dynamically Coupled Systems
5.3.1 Scenario
System scenario — The approach is exemplified by the “Autonomous Transport
example Robots” use case (cf. Chapter 1). Figure 5-8 shows a simple scenario
with a single production machine and two transport robots, which
represent the CSG being designed. Each robot is a CES in this CSG. The
goal of the CSG is to transport goods between machines as well as
storage locations, following some optimization objectives (cf. Chapter
9). Transport requests from the machines are distributed among the
individual robots.
The scenario specification in Figure 5-8 is similar to the one
introduced in Section 5.2 but applied to a different use case. The
scenario consists of a simple sequence of snapshots that represent a
particular state of the system and its context. Both robots initially do
not perform transport tasks. This is indicated by a wait state assigned
to the robots. In the second step of the scenario, the machine issues a
request for a transport task, such as the delivery of a required
resource, or the pickup of goods produced by the machine. This state
is depicted on the right-hand side of the figure. The third step in the
scenario specification would be that one of the robots (here robot2)
takes over responsibility for the task.
5.3 Modeling CES Functional Architectures 105
5.3.2 Modelling
The modelling approach as depicted in Figure 5-9 is consistent with
[Vogelsang 2015] and employs the concepts for a structured mapping
of the collaboration specification to the functional architecture. The
top part shows the functional architecture of a transport robot,
consisting of the functions Planning & Control, Bidding, and Dynamic
Control. The key element of the mapping is shown in the angled boxes.
They represent the system states and object relations derived from
the specification, which are relevant for the individual functions. The
Bidding function realizes the collaboration among all robots by
106 Architectures for Dynamically Coupled Systems
Fig. 5-9: Robot top-level functional architecture (top), and its realization in the logical
viewpoint
5.3 Modeling CES Functional Architectures 107
108 Architectures for Dynamically Coupled Systems
5.3.3 Analysis
Consistency analysis The section concludes with a brief overview of an automated analysis
that can be applied in order to check the consistency of the functional
architecture modelled with a scenario specification. To this end, both
the scenario specification and the functional architecture, including
the state machine diagrams, are automatically translated into a target
automaton model (in our case RTana2 [Stierand et al. 2016]). The
translation has to identify state changes by events as explained above.
In the current implementation, this is achieved by name matching.
The analysis is basically a refinement check that fails if the
architecture model cannot “follow” the scenario specification, that is,
where either expected events do not occur (e.g., a hasToFulfill event of
one robot), or events occur unexpectedly (hasToFulfill events from
multiple robots). Note that consistency analysis has been developed
in the context of all SPES projects, such as with the AutoFOCUS tool
[Pohl et al. 2012, Section 5.5]. We now apply this important analysis
step to dynamic systems.
5.4 Extraction of Dynamic Architectures 109
5.4.1 Methods
To extract dynamic system architectures from existing system
architectures, this section is structured as follows. First, we introduce
reference architectures, which describe the common structures of
product lines. Second, we use the concept of software product lines,
for which we present a product-driven approach. Finally, we discuss
the extraction with the Family Mining approach in the context of
employed methods, that is, the Static Connectivity Matrix Analysis
(SCMA) [Schlie et al. 2018] and the Reverse Signal Propagation
Analysis (RSPA) [Schlie et al. 2017], which are both explained in detail
below. Clone-and-own [Riva and Rosso 2003] is a straightforward
reuse strategy that describes the copying and subsequent
modification of an existing system to create a new system variant.
With regard to software architectures, this straightforward reuse
strategy leads to a vast quantity of redundant and similar artifacts.
Moreover, a later transition towards structured reuse, such as with
software product lines, inevitably requires the comparison of all
existing variants prior to the actual migration. The development of
dynamic open systems from scratch adds a new level of complexity to
the system as it involves designing new functionality at the same time.
Thus, a step-by-step development based on a specific context of the
CSG by reusing a common reference architecture is promising. In this
process, the common parts of the system are reused in the reference
architecture of the system, while new parts represent the dynamic
part of the system.
SCMA [Schlie et al. 2018], [Schlie et al. 2019] is a procedure that Static Connectivity
enables the evaluation of multiple MATLAB/Simulink model variants Matrix Analysis (SCMA)
simultaneously. The transformation of models into a matrix form
reduces the complexity of the models and allows large-scale systems
110 Architectures for Dynamically Coupled Systems
5.4 Extraction of Dynamic Architectures 111
Fig. 5-11: Reactive product line engineering (based on [Pohl et al. 2005])
112 Architectures for Dynamically Coupled Systems
5.4 Extraction of Dynamic Architectures 113
114 Architectures for Dynamically Coupled Systems
Fig. 5-13: Workflow of the custom-tailored Family Mining approach for identifying
variability relationships between block-based model variants
most similar elements to match them with one another, and to derive
a 150% model starting from a set of imported input models.
Fine-grained analysis Moreover, Figure 5-13(b) illustrates how the approach can be used
to capture the systems’ underlying architecture by assessing all input
models (i.e., the entire portfolio) at once [Schlie et al. 2018]. Hence,
the structural components (here MATLAB/Simulink subsystems) of
the input systems, along with their hierarchical relationships, are
assessed and related to derive the overall architecture of the input
portfolio and to simultaneously capture redundant model parts (cf.
ACC in Figure 5-13(b)). Subsequently, the workflow shown in Figure
5-13(a) can be applied in a fine-grained fashion to only those
components warranting such analysis, for instance to locate variation
points at a fine level of detail [Schlie et al. 2017] and to derive a final
150% model [Schlie et al. 2019]. Such a 150% model (cf. Figure 5-
13(c) for an excerpt) contains all possible model elements with
annotations to indicate where variants’ respective elements
originated from and variation points between them. To extract such
variability information and represent it in a centralized form, meaning
the 150% model, the workflow evaluates block-based model variants
in three sequentially processed phases (cf. compare, match, and
merge in Figure 5-13(a)).
Compare In the first phase, called the compare phase, the identification of
model relationships is the primary goal of interest. For this purpose,
the imported model instances are compared with each other. The
workflow allows for variants to be compared at different levels of
5.4 Extraction of Dynamic Architectures 115
116 Architectures for Dynamically Coupled Systems
5.5 Functional Safety Analysis (Online) 117
5.4.5 Summary
In summary, SPLE enables software engineers to capture
commonalities and variabilities of a given set of software systems and
to derive concrete software products by means of a variant derivation
mechanism during CES engineering. To combine the strengths of
creating SPLEs from scratch with the advantages of extractive SPLE,
the reactive product-driven SPLE approach describes a step-by-step
establishment and development of a software platform based on
established artifacts. The Family Mining approach starts with input
models, which are first subject to a coarse-grained analysis, denoted
SCMA. In the SCMA, similar parts that warrant further analysis are
identified, while identical (meaning redundant) parts within models
are eliminated. By omitting unnecessary comparisons, the Family
Mining approach then directs subsequent analysis procedures to
those similar parts. Specifically, we employ a fine-grained comparison
metric to capture the variability of individual model elements at fine-
grain level (e.g., varying labels or different internal properties).
Comparison results of the fine-grained analysis are combined with
information from the coarse-grained analysis to derive one holistic
150% model.
118 Architectures for Dynamically Coupled Systems
Test solutions connect a test driver with the CES or CSG to be tested
to set the inputs and record the outputs.
5.5 Functional Safety Analysis (Online) 119
120 Architectures for Dynamically Coupled Systems
5.7 Literature 121
5.6 Conclusion
The development of dynamically coupled collaborative systems poses
new challenges for engineers. The methods presented in this chapter
support CES engineers in tackling these challenges. They have been
selected in order to cover the different design phases and to show that
the challenges require continuous consideration of the various
aspects along the design process, such as requirements elicitation
(including the collaboration of individual CESs in a CSG), functional
design that ensures consistency with these requirements, and logical
architectures that enable the systems to handle dynamicity, as well as
approaches for testing CSG designs.
Some important aspects have been omitted. For example, the
design flow introduced in Figure 5-1 shows some “conceptual” flows,
which would involve additional methods for the design of
intermediate models and analysis results. The aspect of traceability,
which would be needed to support engineers in continuously
assessing those intermediate design models for adherence to the
system requirements, is not discussed either.
5.7 Literature
[Alalfi et al. 2014] M. Alalfi, E. Rapos, A. Stevenson, M. Stephan, T. Dean, J. Cordy: Semi-
Automatic Identification and Representation of Subsystem Variability in Simulink
Models. In: Intl. Conference on Software Maintenance and Evolution (ICME), 2014.
[Alexander and Maiden 2004] I. Alexander, N. Maiden (Eds.): Scenarios, Stories, Use
Cases: Through the Systems Development Life-Cycle. Wiley, Chichester, 2004.
122 Architectures for Dynamically Coupled Systems
[CrESt 2019] CrESt Consortium: EC2.AP2.D2 Methods for Architecture Design of Open
Systems, 2019.
[Damm and Harel 2001] W. Damm, D. Harel: LSCs: Breathing Life into Message
Sequence Charts. In: Formal Methods in System Design 19:1, 2001.
[Font et al. 2015] J. Font, M. Ballarín, Ø. Haugen, C. Cetina: Automating the Variability
Formalization of a Model Family by Means of Common Variability Language. In:
Proc. of the Intl. Conference on Software Product Line (SPLC), 2015.
[Harel 1987] D. Harel: Statecharts: A Visual Formalism for Complex Systems. In: Sci.
Comput. Programming 8, 1987.
[Harel and Marelly 2003] D. Harel, R. Marelly: Come, Let's Play: Scenario-Based
Programming Using LSCs and the Play-Engine. Springer-Verlag, 2003.
[Martínez et al. 2014] J. Martínez, T. Ziadi, J. Klein, Y. l. Traon: Identifying and Visualising
Commonality and Variability in Model Variants. In: Proc. of the European
Conference on Modeling Foundations and Applications (ECMFA), 2014.
[Rubin and Chechik 2012] J. Rubin, M. Chechik: Combining Related Products into
Product Lines. In: Proc. of the Intl. Conference on Fundamental Approaches to
Software Engineering (FASE), 2012.
5.7 Literature 123
[Rubin and Chechik 2013a] J. Rubin, M. Chechik: N-Way Model Merging. In: Proc. of the
European Software Engineering Conference/Foundations of Software Engineering
(ESEC/FSE), 2013.
[Ryssel et al. 2012] J. Ploennigs, K. Kabitzsch, U. Ryssel: Automatic Library Migration for
the Generation of Hardware-in-the-Loop Models. In: Science of Computer
Programming, 2012, pp. 83-95.
124 Architectures for Dynamically Coupled Systems
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License
(http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in
any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to
the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter’s Creative Commons license,
unless indicated otherwise in a credit line to the material. If material is not included in the chapter’s Creative Commons
license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to
obtain permission directly from the copyright holder.
Jan Christoph Wehrstedt, Siemens AG
Jennifer Brings, University of Duisburg-Essen
Birte Caesar, Helmut Schmidt University Hamburg
Marian Daun, University of Duisburg-Essen
6
Linda Feeken, OFFIS e.V
Constantin Hildebrandt, Helmut Schmidt University Hamburg
Wolfram Klein, Siemens AG
Vincent Malik, Siemens AG
Boris Wirtz, OFFIS e.V.
Stefanie Wolf, Siemens AG
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.
Fig. 6-1: Process steps for developing models for CESs interacting with their context
and their execution during operation
Modeling the system Initially, we develop a modeling approach for both the system and the
and the context context: as ontologies are a suitable technology for enabling semantic
6.3 Ontology and Modeling 127
Fig. 6-3: Process building block for the ontology building method
Domain capability Domain capability model creation: The capability model for a
model certain domain is created by identifying the capabilities of a domain
based on its defined scope and by considering existing ontologies as
well as expert knowledge and industry standards. These domain
capabilities are the input for a domain capability model that is
independent from any specific system manufacturer. In addition, the
domain capability model should be extendable in order to enable
project-specific modifications (e.g., for niche or special applications or
in case of technical innovations). To give an example, a model for
manufacturing capabilities that applies to adaptable and flexible
factories in the discrete manufacturing domain can be created. A
domain capability model for discrete manufacturing must cover a
defined structure and uniform nomenclature, as well as a means of
describing manufacturable product features and typical restrictions
and boundary conditions of the production systems. Moreover,
potential interdependencies between capabilities—for example, with
regard to production process chains and assembly sequences—must
be taken into account (cf. [Wolf et al. 2020]). Example 1-1 shows an
exemplary capability description in the discrete manufacturing
domain:
As the capabilities of a system may be subject to variability, care must Capabilities are subject
be taken to ensure that a differentiation between current and to variability
theoretical capabilities is possible. This is especially relevant if a
system performs a reconfiguration or re-parameterization, as this
usually implies changes in the capabilities of the system (see Section
6.3.3. The artifact that is finally generated is the system model, with
capabilities and variability, which forms the basis for runtime
evaluations.
Capability models can be implemented as ontologies (e.g., using
the methodology in Section 6.3.1) or as feature models (cf. Section
6.3.3 and [Wolf et al. 2020]).
described in [Kang et al. 1990]. Once the third step of the engineering
procedure has been completed, the problem space of the context-
sensitive variability model is defined. The solution space is then used
to enable the system to provide a self-description of its current
configuration, including a description of the capabilities available.
Therefore, the fourth step of the engineering method is the SPARQL
query creation. SPARQL [SPARQL 2020] is a query language that
builds upon the W3C standard Web Ontology Language [OWL 2020]
and can be used to create, update, or query ontologies.
To create the SPARQL statements, the terminology box (TBox) that
comprises the terms and relationships for describing a real-world
phenomenon in an abstract manner must be considered [Asunción et
al. 2004]. In the case of reconfiguration of modular manufacturing
systems, the TBox describes how each system has to be characterized
to be able to collaborate with other modules of the manufacturing
system — for example, the module type package in the process
industry [Ladiges et al. 2018], referred to in Figure 6-8 as
“Heavyweight System Ontology,” which is created following the
ontology building method of Section 6.3.1. Thus, each reconfiguration
requires an update of the system description such that it is always
aligned with the current configuration of the manufacturing system.
The SPARQL statements created are used to create and alter the
assertional box (ABox), which contains the axioms (i.e., individuals of
the ontology) [Baader et al. 2003] that represent the system
description. The SPARQL statements are separated into snippets and
related to features of the feature model. Only those features are
represented in the system description that are selected in the current
configuration. A detailed description can be found in [Caesar et al.
2019]. Once the fourth step is complete, the problem and solution
space of the context-sensitive variability model is defined and can be
used for reconfiguration during runtime, see Figure 6-8. Details of the
variability binding algorithm can be found in Chapter 18.
XML PlantSim
Machine Data
COM
(AutomationML)
Knowledge Graph PlantSim
COM P1
Factory
Layout M1
O1
( x,y)
Request Manufacturable?
P2 M3
COM
List of Possible
Product Data
Machines
(Excel)
XML
Control Strategies
(UML)
In the following, we illustrate the application of this method for the Capability matching for
the adaptable and
adaptable and flexible factory use case. In this use case, the
flexible factory
requirements for the capabilities of CESs arise from a production
request for an individualized product. The factory is equipped with
production systems represented by various CESs and we must
examine whether they can form a suitable CSG for the fulfillment of
the production request.
142 Modeling and Analyzing Context-Sensitive Changes during Runtime
Instantiation of generic Figure 6-14 illustrates schematically how the generic capabilities
capabilities from the of the domain (or project-specific) capability model (see Section 6.3.2)
domain capability model
are instantiated for the product and the production systems, thus
generating the required and provided capabilities that form the basis
for the matching.
Fig. 6-15: Integration of production view and function view to check manufacturability
process can differ in time and costs. Therefore, the time and costs for
each step must be calculated so that the optimal solution can be found.
For further information on the views presented and the principles
of the matching method, please refer to [Daun et al. 2019a].
6.5 Conclusion
This chapter illustrated a modeling approach for analyzing the
behavior of CESs during operation by re-using models from the
engineering phase. We illustrated this approach for selected
examples, addressing the main line of this developing approach. To
improve the quality and reduce the effort for each step, additional
improvements are necessary that lead to reusable ontologies,
standardization of concepts, and interfacing to allow integration of
tools. This leads to possible extensions not described in this chapter.
Even if the model generation process can then be executed
automatically, a lot of effort is still required to develop the underlying
ontologies in advance. Therefore, the ABox and TBox necessary for
building the ontologies based on existing and established engineering
artifacts must also be developed. Using databases also reduces this
144 Modeling and Analyzing Context-Sensitive Changes during Runtime
effort as the manual mapping between the ABox, TBox, and the
industrial application can be reused more easily [Hildebrandt 2020a].
In addition to further reduction of efforts for the modeling,
automatic model validation is also a big benefit. This can be done
using review models [Daun et al. 2020]. All these approaches are part
of a vision to introduce model-based development approaches to non-
experts in engineering and operation and efficient model generation
and execution during runtime.
6.6 Literature
[Asunción et al. 2004] G.-P. Asunción, F.-L. Mariano, O. Corcho: Ontological Engineering:
With Examples from the Areas of Knowledge Management, e-Commerce and the
Semantic Web. 1st Edition, Springer-Verlag, London, 2004.
[Daun et al. 2016] M. Daun, B. Tenbergen, J. Brings, T. Weyer: SPES XT Context Modeling
Framework. In: Advanced Model-Based Engineering of Embedded Systems,
Springer, 2016, pp. 43-57.
[Daun et al. 2019a] M. Daun, J. Brings, P.A. Obe, et al.: Using View-Based Architecture
Descriptions to Aid in Automated Runtime Planning for a Smart Factory. In: 2019
IEEE Int. Conf. Software Architecture (ICSA-C). pp. 202–209.
[Ladiges et al. 2018] J. Ladiges, A. Fay, T. Holm, U. Hempen, L. Urbas, M. Obst, T. Albers:
Integration of Modular Process Units Into Process Control Systems. In: IEEE
Transactions on Industry Applications, Vol. 54, No. 2, 2018, pp. 1870–1880.
[Marks et al. 2018] P. Marks, X. L. Hoang, M. Weyrich, A. Fay: A Systematic Approach for
Supporting the Adaptation Process of Discrete Manufacturing Machines. In:
Research in Engineering Design Vol. 29, No. 4, 2018, pp. 621–641.
[OWL 2020] OWL 2 Web Ontology Language – World Wide Web Consortium (W3C),
https://www.w3.org/TR/owl2-overview/; accessed on 04/27/2020.
[Rosen et al. 2020] R. Rosen, D. Beyer, J. Ficher, W. Klein, V. Malik, J.C. Wehrstedt:
Flexible Produktion durch digitale Zwillinge in der Produktion. In: Kongress
Automation 2020, VDI, 2020 (available in German only).
[Sabou et al. 2019] M. Sabou, S. Biffl, A. Einfalt, L. Krammer, W. Kastner, F.J. Ekaputra:
Semantics for Cyber-Physical Systems: A Cross-Domain Perspective. In: Semantic
Web – Interoperability, Usability, Applicability, 2019.
[SPARQL 2020] SPARQL Query Language for RDF – World Wide Web Consortium (W3C
https://www.w3.org/TR/rdf-sparql-query/ accessed on 07/23/2020.
146 Modeling and Analyzing Context-Sensitive Changes during Runtime
[VDI 2005] VDI/VDE Richtlinie 3682: Formalised process descriptions - Concept and
graphic representation, Beuth Verlag Berlin 2005-9.
[Weiß et al. 2019] S. Weiß, B. Böhm, J. Vollmar, B. Caesar, A. Fay: Modellierung von
Fähigkeiten industrieller Anlagen für die auftragsgesteuerte Produktion. In:
Kongress Automation 2019, VDI, 2019 (available in German only).
[Wolf et al. 2020] S. Wolf, B. Caesar, A. Fay, B. Böhm: Erstellung eines Domänenmodells
zur Beschreibung von Fähigkeiten fertigungstechnischer Anlagen für die
auftragsgesteuerte Produktion. In: Kongress Automation 2020, VDI, 2020
(available in German only).
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License
(http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in
any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to
the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter’s Creative Commons license,
unless indicated otherwise in a credit line to the material. If material is not included in the chapter’s Creative Commons
license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to
obtain permission directly from the copyright holder.
Torsten Bandyszak, University of Duisburg-Essen
Lisa Jöckel, Fraunhofer IESE
Michael Kläs, Fraunhofer IESE
Sebastian Törsleff, Helmut Schmidt University Hamburg
7
Thorsten Weyer, University of Duisburg-Essen
Boris Wirtz, OFFIS e.V.
Handling Uncertainty in
Collaborative Embedded
Systems Engineering
In a scenario, risks may occur due to uncertainty. The term risk is used Relationship between
in a generic way here; it covers safety hazards but also, for example, uncertainty and risk
economic risks. A risk can have a negative impact—for example, an
accident—as well as a specific likelihood of occurrence. Uncertainty
can be mitigated in two ways: 1) by mitigating the risk—that is, by
reducing the likelihood or severity of an impact—or 2) by reducing
the uncertainty that originally triggers the risk. Hence, the ontology
includes the risk mitigation and the uncertainty mitigation concepts.
An uncertainty also always has at least one cause — that is, a Cause and types of
reason why the uncertainty occurs. We can use the type concept to uncertainty
distinguish between different causes of uncertainty. We decided to
relate the type of an uncertainty to its cause and not to the uncertainty
itself, since categorizing uncertainties often relates to abstract
sources of uncertainty, such as imprecision of sensors (cf., e.g.,
[Ramirez et al. 2012]), failures of communication networks, or
insufficient trust in other agents (cf., e.g., [Yu et al. 2013]). Section
7.1.2 illustrates such types of uncertainty using the example of
autonomous vehicles.
Uncertainty relates to There are three different sources of uncertainty under consideration:
perception, data quality,
and communication 1. Perception-related uncertainty: Due to the inherent imprecision of
sensor devices, information representing the current context
situation of a system may be invalid. CESs also share context
information in order to jointly mitigate uncertainties. Each vehicle
is equipped with sensory devices — such as a radar sensor or
cameras for perceiving obstacles, other traffic participants, and
7.2 Modeling Uncertainty 151
Modeling
Explanation Visual notation
element
Uncertainty This element is used to capture the <<Uncertainty>>
uncertainty itself and identify it, which allows
related uncertainty information (further
specified by the other model elements) to be ? Label
Example
Figure 7–3 shows an example OUM (middle part) as well as some
exemplary base artifacts (upper and lower part). The latter include a
structural context model, a functional model, and a behavioral model
of the exemplary CACC system. To reduce complexity, only excerpts
related to the joining maneuver are depicted. Moreover, a sequence
7.2 Modeling Uncertainty 155
The exemplary OUM specifies two uncertainties. First, there can be Inconsistent information
uncertainty related to inconsistent context information. In this from different sources
example, the context is perceived in the form of camera data
processed by a DDC (cf. Section 7.3.2), as well as by context
information communicated by other vehicles, because in the joining
maneuver, the leader vehicle informs the joining vehicle about the gap
to be taken. The uncertainty of inconsistent information occurs when
the gap information obtained by the DDC (e.g., indicating an obstacle
156 Handling Uncertainty in Collaborative Embedded Systems Engineering
that contains a spatial view and describes the phase where the
approaching car is still far away from the platoon (which is
represented by an abstract symbol, see Chapter 6 for more detail).
Phase 2 is described by two nodes holding in parallel: the spatial
invariant expresses that the approaching car is closer to the platoon
but has not yet reached the distance for initiating a join maneuver.
During phase 2, the approaching car sends a join request to the last
car of the platoon, which eventually answers granting the right to join.
In phase 3, the approaching car actually joins the platoon, and then
phase 4 is reached, in which the car is part of the platoon.
TSCs are interpreted with respect to a modular world model, which World models
defines object classes, interfaces, and behaviors. World model
modules are exchangeable, as long as suitable interfaces are provided.
Consequently, behavior modules can be specified using different
specification languages (with suitable interfaces) — for example,
hybrid automata or stochastic/probabilistic hybrid automata. This
flexibility can be used for combining the same scenario specification
with different CES implementation variants or CESs whose
granularity has been refined during the development process.
Risk Assessment
The last missing building block describes the use of the probabilistic Probabilistic and
behavioral CES/CSG model involving uncertainty. There are two main stochastic model
checking
analysis methods: probabilistic model checking [Katoen 2016] can
compute the probability with which an evaluation criterion (such as a
criticality or a quality of service measure) is reached. Probabilistic
160 Handling Uncertainty in Collaborative Embedded Systems Engineering
uncertainties can appear at the type level and at the instance level.
Uncertainty sources at the type level are rooted in the terminological
knowledge utilized by CESs to specify messages. In simple terms,
terminological knowledge is comparable to a vocabulary that includes
the relationships between vocabulary items and is from here on
referred to as the TBox [Krotzsch et al. 2014]. At each level—that is,
type and instance level—four different classes of uncertainties can be
distinguished. Figure 7–6 illustrates a subset of these classes (T1, T3,
I1, and I2). As we can see, the set difference of the SUC TBox (upper
ellipse at the top of Figure 7–6) and the CO TBox (lower ellipse) is not
empty, resulting in various uncertainties. The uncertainty classes
illustrated and additional classes are detailed in the following.
MaximumFuel MinimizeEnergy
Consumption Consumption
...
...
ReachNext
hasSupportingGoal
MaximumPower ChargingStation
Consumption T1
Key:
IncreaseDownhill T3
I1 Object relationship
Recuperation
Concept
Type level Instance
Type relationship
Instance level
Missing instance
Message
Missing relationship
...
CO I2 SUC
The first class of type-level uncertainties results from a known Known difference in
difference in scope (T1) between the TBox of the SUC and the CO. This scope
uncertainty occurs whenever the CO sends the SUC a message that
includes a TBox element that is not included in the SUC’s TBox. The
difference in scope is known insofar as the unknown TBox element has
a known relationship to a known TBox element, which may allow for
162 Handling Uncertainty in Collaborative Embedded Systems Engineering
consider a CO that wants to join a platoon and the SUC as the platoon
leader requires the information “MaximumFuelConsumption.”
However, if the CO provides only the ”Destination” in its message, the
SUC will perceive the message as incomplete.
The third class of instance-level uncertainties results from Situationally
situationally inconsistent information (I3), which occurs whenever the inconsistent information
content of a message is inconsistent with regard to the information
expected by the SUC for the situation at hand. Consider a platoon
where the vehicles regularly broadcast their range in kilometers. If the
platoon now descends a steep road, the virtually constant braking
might actually increase the reported range of the CO (the electric
vehicle). The SUC, however, might expect a range decrease over time
and thus considers the reported range to be situationally inconsistent.
The fourth class of instance-level uncertainties results from Missing type
missing type membership (I4). This class of uncertainty occurs when a membership
message contains an information item that lacks a type membership.
For instance, the SUC might receive geographical coordinates from a
CO but no information on what these coordinates refer to.
EURECA
In order to systematically analyze and capture the previously
described uncertainties at the instance and type level, we developed
an epistemic uncertainty classification scheme for runtime
information exchange (EURECA). The two-dimensional scheme is
depicted in Table 7-7.
Type-level Instance-level
SUC ontology Ontology element uncertainty uncertainty
T1 T2 T2 T4 I1 I2 I3 I4
hasSupportingGoal x
DesiredStateAtDestination x
ReachNextChargingStation x
hasConsumption x
Goal ontology
MaximumPowerConsumption x
MaximumFuelConsumption x
Range x
GeographicalCoordinates x
The first column is populated with the SUC ontology that the Two-dimensional
uncertainties captured relate to. In our examples, we considered only classification scheme
the SUC’s goal ontology, but other ontologies obviously might be
subject to epistemic uncertainties as well. The second column lists the
concrete ontology elements that are subject to epistemic uncertainty
according to the analysis performed. A checkmark indicates which
164 Handling Uncertainty in Collaborative Embedded Systems Engineering
the CESs of interest (as shown in Figure 7–3). At the latest since 2012,
deep convolutional neural networks have proven their superior
performance for this kind of task and can be considered as a state-of-
the-art approach for TSR [Krizhevsky et al. 2017]. Nevertheless,
uncertainty remains inherent in the outcome of our TSR component
since we cannot specify for all possible combinations of pixel values
within an image what kind of traffic sign should be reported.
Because the use of DDCs is an important source of uncertainty in Considering both design
CESs, the uncertainty they introduce must be appropriately and runtime of DDCs
understood and managed not only during design time but also during
operation. In the following, we first present a classification for the
different sources of uncertainty relevant when applying a DDC, and
then introduce ”uncertainty wrappers” as a means of quantifying and
analyzing the level of uncertainty for any specific situation at runtime.
Example for In our example, the outcome of the model could be the information
application about whether the data-driven model has recognized a “speed limit
7.3 Analyzing Uncertainty 167
50” sign or not (cf. Figure 7–2). The uncertainty is then expressed by
the likelihood that the outcome provided is not correct.
Besides the data processed by the data-driven model, the data- Further data to assess
driven model input may contain further data that is used by the scope compliance
wrapper to assess the degree of uncertainty in the model outcome. For
example, the GPS signal may be used to determine whether the vehicle
is still in Germany, a task which is conducted by the scope model. The
result is then provided as a scope factor evaluation result to the scope
compliance model, which calculates the likelihood of scope
incompliance considering the results for all scope factors.
Moreover, the rain sensor signal may be also used as an input. Quality and quality
Based on this signal, the quality model determines the level of impact model
precipitation, which is anticipated to have an influence on the
recognition performance of the data-driven model. Together with the
results of other quality factors, the quality impact model then
determines a situation-aware uncertainty estimate using a decision
tree model as a white box approach.
Finally, the uncertainty information provided by the scope
compliance and quality impact model are combined to give a
dependable uncertainty estimate that considers the requested level of
confidence.
In Figure 7–8, we illustrate this for three cases. In Case A, we get Examples for
an extremely high uncertainty because the DDC is used in New York, application results
which is outside the TAS. In Case B, we obtain low uncertainty since
the component is used in its TAS under good quality conditions. In
Case C, we would end up with a moderate uncertainty since the rain
makes the recognition task more difficult.
7.4 Conclusion
CESs operate in highly dynamic contexts and thus have to cope with
uncertainties during operation. This uncertainty cannot be fully
anticipated during design, since CESs are increasingly autonomous
and adaptive, and CSGs may take various forms. Nevertheless, it is
crucial to systematically consider potential runtime uncertainties
during the engineering of CESs. This requires methods for identifying,
modeling, and analyzing uncertainty to develop CESs capable of
coping with uncertainty during operation autonomously.
Uncertainty ontology This chapter approached the complex task of uncertainty handling
during CES engineering by first conceptualizing uncertainty. To this
end, we presented an uncertainty ontology that defines core concepts
to describe uncertainty. Among other aspects, this ontology provides
a means of describing and understanding causes of uncertainty and
relating uncertainty to information gathered through certain sources
(e.g., sensors) and processed by CESs.
Versatile modeling and Based on the ontology and a characterization of different kinds of
analysis methods uncertainty relevant for CESs and CSGs, we presented methods for
modeling uncertainty, and for analyzing uncertainty and its effects
during both design and operation. To model uncertainty graphically,
especially during early phases, we presented a modeling language for
specifying uncertainty in dedicated artifacts — that is, orthogonal
uncertainty models. As a more formal approach, we presented a
behavioral modeling approach based on traffic sequence charts for
analyzing risks in dynamic traffic scenarios. As part of the analysis
methods, we presented a classification scheme for identifying
epistemic uncertainties in the information exchange among CESs.
Furthermore, we presented an analysis method to support the safe
operation of DDCs by equipping them with a wrapper that provides
reliable information on situation-specific uncertainty.
7.5 Literature 169
7.5 Literature
[Bachmann et al. 2003] F. Bachmann, M. Goedicke, J. Leite, R. Nord, K. Pohl, B. Ramesh,
A. Vilbig: A Meta-model for Representing Variability in Product Family
Development. In: Software Product-Family Engineering. LNCS Vol. 3014, Springer,
2003, pp. 66–80.
[Jia et al. 2016] D. Jia, K. Lu, J. Wang, X. Zhang, X. Shen: A Survey on Platoon-Based
Vehicular Cyber-Physical Systems. IEEE Communications Surveys Tutorials, Vol.
18, No. 1, 2016, pp. 263–284.
[Jöckel and Kläs 2019] L. Jöckel, M. Kläs: Increasing Trust in Data-Driven Model
Validation – A Framework for Probabilistic Augmentation of Images and Meta-Data
Generation Using Application Scope Characteristics. In: 38th Int. Conf. Computer
Safety, Reliability and Security (SafeComp). Springer, 2019, pp. 155–164.
[Katoen 2016] J.-P. Katoen: The Probabilistic Model Checking Landscape. In: Proc. 31st
Ann. ACM/IEEE Symp. Logic in Computer Science (LICS). ACM, 2016, pp. 31–45.
[Kläs and Jöckel 2020] M. Kläs, L. Jöckel: A Framework for Building Uncertainty
Wrappers for AI/ML-Based Data-Driven Components. In: 3rd Int. Workshop on
Artificial Intelligence Safety Engineering (WAISE) - submitted, 2020.
[Kläs and Sembach 2019] M. Kläs, L. Sembach: Uncertainty Wrappers for Data-Driven
Models – Increase the Transparency of AI/ML-Based Models through Enrichment
with Dependable Situation-Aware Uncertainty Estimates. In: 2nd Int. Workshop
Artificial Intelligence Safety Engineering (WAISE). Springer, 2019, pp. 358–364.
170 Handling Uncertainty in Collaborative Embedded Systems Engineering
[Yu et al. 2013] H. Yu, Z. Shen, C. Leung, C. Miao, V. R. Lesser: A Survey of Multi-Agent
Trust Management Systems. IEEE Access, Vol. 1, 2013, pp. 35–50.
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License
(http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in
any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to
the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter’s Creative Commons license,
unless indicated otherwise in a credit line to the material. If material is not included in the chapter’s Creative Commons
license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to
obtain permission directly from the copyright holder.
David Santiago Velasco Moncada, Fraunhofer IESE
Daniel Schneider, Fraunhofer IESE
Ana Petrovska, Technical University of Munich
Nishanth Laxman, Technical University of Kaiserslautern
Felix Möhrle, Technical University of Kaiserslautern
Stefan Rothbauer, Siemens AG
Marc Zeller, Siemens AG
Chee Hung Koo, Robert Bosch GmbH
Samira Safdari, Expleo Germany
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.
(such as a robot arm and a tray as a storage unit) are used to assemble
a small roll that consists of a roll body, an axle, and two metal discs as
depicted in Figure 8-1.
(1) defines the input data, defining in particular where the data is
located and what the relationships between different data are. For a
mechatronic object, for instance, the ontology may specify where this
CES is located (i.e., its position in the machine cell). This results in
purpose (2), where the ontology can be used to find constraints in the
data. A mechatronic object may specify, for instance, the maximum
speed at which the CES moves.
At runtime, the CESs are identified and a CSG configuration is
selected. This information is then replicated into the adaptable factory
context ontology: for each CES identified, a new individual (i.e., the
instance of an entity in the ontology) is created and all the relevant
information is stored as data properties of the new individual. Finally,
the information stored in the context ontology is queried to build a
runtime context model. For implementation and evaluation purposes,
the runtime context model is stored in an XML file.
1 http://fsl.cs.illinois.edu/index.php/MOP
182 Dynamic Safety Certification for Collaborative Embedded Systems at Runtime
Fig. 8-4: Meta-model SQUADfps for a dynamic machine safety and product quality
assessment at runtime [Koo, Rothbauer et al. 2019]
RPN
Sev
Occ
RPN’
Det
Occ’
Det’
Recipe R Failure Mode Service Process P Process P’
Table 8-5: Case study process definition and two possible deployments of the Process
P and P’ (production schedules)
In the exemplary safety risk assessment shown, we can see that the
integrated robot (CES) might cause a hazard ℎ shearing when the
operator loads the material into the assembly cell. The runtime
assessment system evaluates this risk as PL e (very high risk
according to ISO 13849-1) based on different data from the context
and allocates a possible existing safety function to ℎ . As the
integrated safety-sensitive cover for the robot has a very high
reliability (also PL e), it provides proof that the risk of ℎ can be
mitigated during the interaction task. A similar analysis procedure is
also performed for all relevant hazards to generate the foundation for
the safety risk assessment.
This approach is of a qualitative nature, which in practice is very
effective for prioritizing measures for the main problems. It can be
extended to deliver quantitative measures of production risk. The
approach aims to assist humans in finding an optimal solution for
producing a product while considering both machine safety and
product quality aspects.
Contracts Concept
As mentioned above, the CSG specification defines the functionality
and behavior that the roles will take on in a collaboration. This is
partly defined by functional and safety contracts. These contracts are
considered as pure design-time contracts since they are exchanged
and consumed only during the CSG-CES development time. On the
other hand, ConSerts should be exchanged during runtime. In this
approach, this means that ConSerts must also be developed and be
8.4 Design and Runtime Contracts 191
As shown above, the failure injection block (in the left side) in Figure
8-8 is implemented as a MATLAB function in Simulink and is located
before the sensor inputs into the controller block. It can generate
invalid sensor values at a specified time with the desired repetition
rate of the error. Moreover, the failure detection and degradation
194 Dynamic Safety Certification for Collaborative Embedded Systems at Runtime
8.5 Conclusion
In this chapter, we presented a concept for safety certification of
collaborative embedded systems. We highlighted the most distinct
characteristics that distinguish them from classical systems. It is
mainly their dynamicity that makes predicting their behavior difficult
and therefore renders traditional safety certification techniques
impractical. Based on these considerations, we presented new
techniques and adaptations of existing techniques to enable a safety
certification process that is specifically tailored to collaborative
embedded systems.
We have outlined a two-step process. On the one hand, this process
comprises the preliminary work during the design phase. All CESs are
equipped with modular cases that contain an interface for integration
with other safety cases. Since there are still many unknowns during
the design phase, the second part of the safety certification process is
performed at runtime, when all variables can be resolved. At runtime,
the modular safety cases are integrated and evaluated according to
the planned collaboration. Our concept comprises the monitoring of
context changes at runtime and facilitates the handling of
uncertainties. This enables a largely automated process that can be
repeated efficiently during dynamic reconfigurations at runtime.
8.6 Literature
[Bartocci et al. 2018] E. Bartocci, J. Deshmukh, A. Donzé, G. Fainekos, O. Maler, D.
Ničković, S. Sankaranarayanan: Specification-Based Monitoring of Cyber-Physical
Systems: A Survey on Theory, Tools and Applications. In: Lecture Notes in Computer
Science, Springer, Cham. 2018, pp. 135-175.
[Damm et al. 2019] W. Damm, P. Heidl: Position paper on Safety, Security, and
Certifiability of Future Man-Machine Systems, Results of the SafeTRANS Working
Group “Resilient, Learning, and Evolutionary Systems”, https://www.safetrans-
de.org/en/activities/Roadmapping.php, 2019.
[ISO 2006] International Organization for Standardization (ISO): ISO 13849–1: Safety
of Machinery — Safety-Related Parts of Control Systems – Part 1: General Principles
for Design. 2006.
[ISO 2010] International Organization for Standardization (ISO): ISO 12100: Safety of
Machinery - General Principles for Design — Risk Assessment and Risk Reduction.
2010.
[ISO 2018] International Organization for Standardization (ISO): ISO 26262-3: Road
Vehicles — Functional Safety — Part 3: Concept Phase. 2018.
[Kelly 2007] T. Kelly: Using Software Architecture Techniques to Support the Modular
Certification of Safety-Critical Systems. In: ACM International Conference
Proceeding Series, Vol. 248, 2007, pp. 53–65.
[Kephart and Chess 2003] J.O. Kephart, D.M. Chess: The Vision of Autonomic
Computing. In: Computer 36, no. 1, 2003, pp. 41-50.
[Petrovska and Grigoleit 2018] A. Petrovska, F. Grigoleit: Towards Context Modeling for
Dynamic Collaborative Embedded Systems in Open Context. In: MRC@ IJCAI, 2018,
pp. 41-45.
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License
(http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in
any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to
the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter’s Creative Commons license,
unless indicated otherwise in a credit line to the material. If material is not included in the chapter’s Creative Commons
license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to
obtain permission directly from the copyright holder.
Patricia Aluko Obe, University of Duisburg-Essen
Jennifer Brings, University of Duisburg-Essen
Marian Daun, University of Duisburg-Essen
Linda Feeken, Offis e.V.
9
Elham Mirzaei, InSystems Automation GmbH
Martin Neumann, InSystems Automation GmbH
Jochen Nickles, Siemens AG
Simon Rösel, Model Engineering Solutions GmbH
Markus Sauer, Siemens AG
Holger Schlingloff, Fraunhofer FOKUS
Ingo Stierand, Offis e.V.
Jan-Stefan Zernickel, InSystems Automation GmbH
Goal-Based Strategy
Exploration
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.
198 Goal-Based Strategy Exploration
9.1 Introduction
Challenges The development of collaborative embedded systems (CESs) faces
challenges due to the high degree of complexity that results from the
interplay of various CESs within a collaborative system group (CSG).
CSGs are formed by CESs to achieve goals that individual CESs cannot
achieve on their own. For example, collaborative autonomous
transport robots (CESs) can form fleets (CSGs) to optimize the
transportation of goods in a factory. In a CSG, it is not only the CESs
that have goals; the CSG also has goals which in turn result from the
goals of the CESs. However, the different goals may be partially
contradictory. For example, an individual robot may be interested in
conserving its battery life, while the fleet as a whole is interested in
minimizing disruption in production. The decentralized organization
and the dynamicity of such CSGs (for example, robots may join or
leave the fleet during runtime) makes them highly complex and their
development challenging.
Goal-based strategy Therefore, we propose a goal-based approach for strategy
exploration exploration that considers the peculiarities of CSGs and CESs. In detail,
we introduce a goal modeling approach tailored to the specification of
goals for CESs and CSGs and show how strategies can be developed
based on these goals and operationalized. We demonstrate the
applicability of our approach for a case example from the industry
automation domain. Specifically, we illustrate the impact that
different strategies for a fleet of autonomous transport robots have on
the fulfilment of goals by the individual robots.
9.2 Goal Modeling for Collaborative System Groups 199
GRL is based on the i* framework [Yu 1997] but is less restrictive Goal-oriented
regarding the use of the notational elements (cf. [Horkoff et al. 2008]). Requirements Language
GRL encompasses the use of actors to denote stakeholders that have
some goals to be achieved by using a system under development —
that is, they may depend on other actors to achieve their goals. Most
notably, in agent-oriented software engineering, actors are also used
to model technical systems [Bresciani et al. 2004], as is the case here.
In GRL, the intentions of actors can be further specified by means Intentional elements
of several types of intentional elements. Intentional elements are
subdivided into (hard) goals, soft goals, tasks, resources, and beliefs,
which are related via decompositions and contribution links. In the
following, we illustrate how the use of goal modeling can foster the
engineering of CSGs.
No reasonable system is supposed to behave absolutely arbitrarily. Local goals and global
Each system has goals that it has to achieve. A CSG is formed through goals
the cooperation of the CESs, therefore the goals of the CSG must be
considered as early as during the design phase. The following
distinction between goals is quite natural: we refer to local goals as
goals of a CES and global goals as goals of a CSG. Global goals are goals
that each CES of the CSG aims to achieve, while local goals are goals
that represent the interests of individual CESs.
This allows us to separate goals of the CSG from goals of the CESs CSG goals vs. CES goals
but also to denote relationships between both — for example, to
identify where the CSG depends on the individual CESs in its goal
fulfillment and vice versa. This is important information, as we will
see later on that these dependencies drive design decisions and result
in the definition of explicit strategies. Figure 9-1 shows an excerpt
from the GRL goal model of an individual transport robot. The goal
model emphasizes the transportation-related goals of the CESs. The
goal model depicts the robots’ responsibilities for route calculation,
performing transport tasks, and bidding for transport tasks. For each
robot, detailed sub-goals are derived that, for example, define how
charging is to be handled and how robot breakdowns must be treated.
As we can see, the goal model specifies three important high-level Hierarchically
goals (which are defined directly after the root node) regarding the structuring goals
safety of humans, conducting the transport, and the robustness of the
robot. These goals are then refined until fine-grained tasks are
reached, such as the tasks to determine obstacle positions and to
communicate the obstacle’s position. These goals identified for the
individual robots are closely related to the overall goals of the CSG—
the fleet of robots—as each individual robot depends on the fleet of
200
Transport
AND
Route Calculation
Bidding
AND Perform Transport
AND
AND
Find Optimal Route Communicate Route
Receive Task
Calculate Bid
Bid
Consider Routes of Determine Start/End-
Consider Obstacles
other Robots Position of Transport AND
XOR
AND
Battery Level Algorithm
Heights Weights
Measurements Determine Obstacle
Charging
Fig. 9-1: GRL goal model for the individual transport robots
Position
AND
Sensory Accuracy
Communicate Obstacle
Handle Breakdown
Charge and Finish Work
Finish Work and Charge
AND
Other Communicate
Goal-Based Strategy Exploration
202 Goal-Based Strategy Exploration
Fig. 9-2: Relationship between goals, KPIs, and quality measures of strategies
9.3 Goal-Based Strategy Development 203
We define the quality measure for strategies as follows: Quality measures for
A strategy s is better than strategy u if the KPI “difference between strategies
the robot with the least distance driven and the robot with the most
distance driven” after fulfilling a task is smaller (or equal) when
applying s than when applying u.
We define three alternative strategies for task distribution among Alternative strategies
robots:
• Strategy 1: The robot with the lowest distance covered so far
takes over the job.
• Strategy 2: The robot with the lowest additional distance to
cover for the task fulfillment takes over the job.
• Strategy 3: For each robot, calculate the difference in the
distance covered if the robot takes over the job. The robot
with the smallest calculated difference value takes over the
job.
Considering the quality measure introduced above, we can use Comparing strategies
examples to show that the first two strategies are not comparable.
Furthermore, we can formally show that the third strategy is better
than the first and the second one. This qualitative comparison can be
complemented by a quantitative simulation-based comparison: we
used a MATLAB model of the fleet of robots and generated 100
random topologies for the factory, each defined by the distances
between relevant locations in the factory, such as machines, charging
stations, and storage facilities. Each factory generated consists of 5 to
30 relevant locations. The distances between locations were chosen
at between 5 and 50 meters. For each of those factory maps, we
generated a list of 100 transport tasks between locations of the
respective factory. Each of the three strategies for distributing the
tasks among the fleet of robots was applied. The number of robots per
fleet was chosen randomly as between 2 and 20. As the initial state of
the fleet, each robot was randomly set to one of the locations, and an
initial value for the distance already covered was chosen randomly as
between 0 and 200 meters. After each task distribution, the difference
between the minimum and maximum costs of the robots after
fulfilling all tasks they took over was calculated according to the
quality measure. The simulation showed the following results:
1 In the simulation, we were able to verify that strategy 3
performs better than the two other strategies with regard to
the quality measure defined above. Additionally, the
204 Goal-Based Strategy Exploration
Choosing strategies Our simulation shows that choosing the right strategy has a
impacts fleet measurable impact on the performance of the fleet of robots. An
performance
explicit definition of a quality measure for strategies in the early
design phase allows us to identify good strategies that had not been
thought of before (here, Strategy 3, the best of the strategies
considered, was introduced as a new strategy after the definition of
the quality measure). Hence, considering strategies and quality
9.4 Goal Operationalization (KPI Development) 205
206 Goal-Based Strategy Exploration
Table KPIs
Battery health and Minimum/maximum
Real-time/local
safety cell voltage [V]
Distance covered by
each robot in a given
Equal wear and time frame
Real-time/local
tear compared to the
distances covered by
other robots
Goals
The difference
As soon as possible between the earliest
Historical/global
job fulfillment pick-up time and
real pick-up time [s]
The time frame
As soon as between real
necessary delivery time and Historical/global
fulfillment latest due date per
transport job [s]
A set of goals for the autonomous transport robot use case is as
follows:
q Battery health and safety: Transport robots must not let their
battery deplete or overcharge.
q Equal wear and tear: The transport robots must operate in such
a way that all transport robots of the same age show
approximately the same usage.
9.5 Modeling Methodology for Adaptive Systems with MATLAB/Simulink 207
208 Goal-Based Strategy Exploration
the CSG and the CESs as well as their context. In the case of a fleet of
robots, the manufacturing execution system broadcasts different
global goals dynamically to the fleet of robots. Typically, the global
goals define a trade-off between the following competing objectives:
1. Economy: Minimize the total distance driven by all CESs — i.e., the
transport robots.
2. Robustness: Keep the job queue lengths of each robot as short as
possible.
3. Performance: Maximize the number of jobs executed per time
unit.
4. Maintenance: Distribute the tasks such that all robots drive a
similar distance.
As mentioned in the preceding paragraphs, KPIs are used to represent
the goals in a measurable way. A suitable collaboration strategy for
the collaborative robot fleet members must be designed
corresponding to the given goals, cf. Sections 9.2 and 9.3. Therefore,
the fundamental part of the modeling is dedicated to the distribution
of the incoming transport jobs depending on the dynamically
changing objectives. The collaborative fleet of robots consists of a
finite number of robots that redundantly control and maintain the
required data structures, such as job queues, distances driven, and
their batteries’ states of charge. Based on this data, a bidding process
determines the collaborative robot fleet member with the lowest job
execution cost. The global goals are encoded using a suitable bidding
parameter vector. The context model, which represents the highest
level in the hierarchy of system models, describes the interaction of
the transport robot with its environment — for example, the
manufacturing execution system. Furthermore, a suitable transport
robot architecture that is capable of addressing adaptivity can be
introduced based on a hierarchical decomposition. This approach
yields a decomposition-type model that defines each transport robot’s
components and interfaces. Most notably, the collaborative AGV
controller (CAC) hosts the logic for calculating the bidding values
based on the current system state and goals. Correspondingly, each
CAC model consists of the following:
q A reconfiguration unit, which is triggered whenever a new
transport job is published or the collaborative robot fleet
constituents are altered
9.5 Modeling Methodology for Adaptive Systems with MATLAB/Simulink 209
q A processing unit for the transport robot goals — that is, bidding
values for the autonomous task distribution are computed from
the CAC data, as well as from the bidding parameters associated
with the currently active transport robot goal and the member-
specific local goals (e.g., maintaining a minimum battery level)
q A bidding unit that determines which robot receives the published
task
q A unit that holds and updates the CAC data (battery level, path
lengths, etc.)
q Units that manage the interface with ROS to determine path
lengths and battery states
Figure 9-9 shows the resulting components in the system
decomposition model. The system behavior is fully composed from
the behavior models of each component. These component-related
behavioral models represent the third level in the hierarchy of system
models.
Fig. 9-9: System decomposition model in Simulink
The expected adaptive system response, which is subject to Capturing MES policies
dynamically varying manufacturing execution system policies, must in the requirements
be fully captured in the requirements of the fleet of robots. Compared
to natural language-based approaches, which are still widely used in
practice, formalized requirement formats give rise to unambiguous
representations of requirements of the fleet of robots. Moreover, with
the model-based approach, formalized requirement formats can be
fully integrated in the sense that state-based or event-based triggers
and the required signal response can be fully defined using references
to model entities, such as signal specifications or design parameters.
210 Goal-Based Strategy Exploration
9.6 Collaboration Framework for Goal-Based Strategies 211
Fig. 9-10: Example AGV scenario for goal-based, collaborative fleet management
212 Goal-Based Strategy Exploration
9.6 Collaboration Framework for Goal-Based Strategies 213
systems, all participants in the system are equal in that they can act
both as producers/requesters and consumers/responders. These
communication patterns (cf. Figure 9-11) allow data to be discovered,
queried, shared, and updated on demand in a distributed,
decentralized CSG. In addition, the collaborative IoT framework Coaty
allows for a distributed implementation of triggering context-specific
remote operations and dynamic context-specific information routing
between CESs by its IORouting concept. The IORouting concept
(https://coatyio.github.io/coaty-js/man/developer-guide/#io-
routing) introduces a way to dynamically route information flows
between information sources of a CES and information actors that use
the information. This information routing takes place based on
changes in the observed operation context of the CSG. The challenging
issue of reaching programmability in such highly complex,
distributed, asynchronous systems of CESs in a CSG is achieved by
applying the reactive programming paradigm. The extensible typed
object model applied, with a set of basic core object types, can
represent domain-specific system characteristics such as tasks, etc.
Furthermore, each CES is represented as an object such that
interoperability can be maintained without losing extensibility.
Applying this kind of collaboration framework, a set of CESs that
form a CSG can collaborate by means of a decentralized interaction
and communication network.
Fig. 9-11: Collaborative IoT framework communication pattern as realized in Coaty
214 Goal-Based Strategy Exploration
9.7 Conclusion
CESs connect to form a group in order to achieve local and global goals
by following the best possible strategy. The interconnection between
goals, KPIs, monitoring, and strategy shapes the core concept of the
9.8 Literature 215
9.8 Literature
[Bresciani et al. 2004] P. Bresciani, A. Perini, P. Giorgini, F. Giunchiglia, J. Mylopoulos:
Tropos: An Agent-Oriented Software Development Methodology. In:
Autonomous Agents and Multi-Agent Systems 8 (3), 2004, pp. 203–236.
[Horkoff et al. 2008] J. Horkoff, G. Elahi, S. Abdulhadi, E. Yu: Reflective Analysis of the
Syntax and Semantics of the I* Framework. In: Advances in Conceptual
Modeling – Challenges and Opportunities. Lecture Notes in Computer
Science. Springer, Berlin, Heidelberg, 2008, pp. 249–260.
216 Goal-Based Strategy Exploration
[Yu 1997] E. S. K. Yu: Towards Modelling and Reasoning Support for Early-Phase
Requirements Engineering. In: Proceedings of the Third IEEE International
Symposium on Requirements Engineering, 1997, pp. 226–235.
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License
(http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in
any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to
the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter’s Creative Commons license,
unless indicated otherwise in a credit line to the material. If material is not included in the chapter’s Creative Commons
license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to
obtain permission directly from the copyright holder.
Samira Akili, Humboldt Universität zu Berlin
Emilia Cioroaica, Fraunhofer IESE
Thomas Kuhn, Fraunhofer IESE
Holger Schlingloff, Fraunhofer FOKUS
10
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 decision-
making 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.
10.1 Introduction
In its most general meaning, trust is the belief of one agent in the
capabilities and future actions of another agent. Relying on this belief,
the trustor hands over control to the trustee and faces negative
consequences if the trustee does not perform as expected. In
collaborative embedded systems (CESs), trust is important on several
levels, as depicted in Figure 10-1. Firstly, the components of the
collaborative system group (CSG) need to trust each other in order to
pursue common goals. Secondly, in safety-critical contexts, the
(human) user needs to trust the CSG to work as specified, and the CSG
itself needs to trust its environment to behave as laid down in the
specification. Thirdly, as each CES in the group may consist of
components from many different vendors, it needs some self-reliance,
that is, trust in its own components.
Besides the question “Who trusts whom?”, the question “Why trust?”
defines another dimension in the analysis of trust. Trustworthiness
can be established by a trustee in several ways: via certificates from
trusted third parties, via a history of reliable actions, or by giving
insights into its decision-making process. In the following, we
comment on each of these in the context of collaborative embedded
systems. Certificates from trusted third parties are used to increase the
trustworthiness of the trustee via the reputation of the certifying
institution. For example, an autonomous car would not be allowed to
enter a platoon if the software has not been certified by the respective
authorities. Certificates are usually issued for the design of a system.
At runtime, if certificates are used, there must be a mechanism that
can show that the certificates are original and unmodified.
10.2 Building Trust during Design Time 219
Model
Model view controller [Krasner and Pope 1988] is an architectural
pattern that divides the function of a framework into three
components. We will demonstrate how this pattern can be used for
testing CSGs. The functionality of a testing framework is to allow
creation or integration of simulation models of CESs, definition of
scenarios, execution of test cases, and evaluation of results.
The basic task of the modeler component is to provide an editor
for the definition of pure virtual entities of the CSG. Moreover, a digital
twin—that is, the combination of real-world data with a coarse
behavioral model of a CES—can be created in this component. This
modular structure allows simple and interchangeable units. Both pure
virtual entities and digital twins can be represented as functional
mock-up units (FMU) that can be executed in combination by a co-
simulation platform.
Combining the real As a concrete implementation of this concept, Fraunhofer FERAL
world with the virtual [Kuhn et al. 2013] is a simulation environment used for rapid
world
development of architecture prototypes through coupling of
simulators, simulation models, and high-level models. It enables
abstract simulation models to be coupled with very detailed
simulation models and digital twins. The integration of virtual agents
and digital twins allows the evaluation of controlled decisions of real
cars in an extended set of scenarios. The simulator provides the
necessary environment for simulating and running the behavior of
multiple virtual CESs.
As an example of a real-world agent, ANKI cars are small-scale
model vehicles that can be programmed using the ANKI Software
Development Kit (SDK). This SDK provides access to the sensors and
actuators, and also to some higher-level functionality of the ANKI cars.
Each ANKI car is equipped with infrared sensors that read encodings
embedded in the track. Figure 10-2 shows the underside of an ANKI
car. The infrared sensor is positioned at the front and the drive motor
at the rear.
Fig. 10-3: Evaluation scenario visualized in Unity 3D from both a bird’s-eye view and
first-person perspective
Controller
In our framework, the controller is the component that interacts
directly with the user via web services. Through the controller, the
user can define scenarios for the evaluation. The controller sends
information about these scenarios to the modeler. It provides a
service to the real-world object, which contains information about the
pure virtual objects in the CSG. Other services include simulated
sensor and actuator values. These services can be combined through
service compositions. For example: the CACC (collaborative adaptive
cruise controller) in a car can subscribe to a service giving GPS
coordinates and to a service for the rotational speed of the wheels, and
can thus provide a service of reference acceleration. These services
are defined and composed in the controller and then passed to the
modeler.
As an implementation example, Google Blockly [Blockly 2020]
provides an intuitive framework for the definition of test scenarios. It
provides a language of blocks, where each block represents a possible
step in a test case. The semantics of a block can be defined in a suitable
programming language. The test designer can use drag and drop to
form complex test cases from the blocks. In our testing framework,
this graphical modelling of a test case is transformed into JavaScript
code that is parsed by our co-simulation tool FERAL. From there, it is
10.3 Building Trust during Runtime 225
Fig. 10-7: (a) Centralized runtime monitoring (b) Distributed runtime monitoring
robots. However, note that this predicate would hold for all robots
even if each robot had a different winnerBid to compare its bid with.
To verify the maximum among all bids, each robot has to compare its
bid with the same winner bid. However, with γagree holding for all
robots, this is ensured. Hence, if γmax and γagree hold for all robots, Γagree
holds for the CSG. The predicate γexist holds for a robot k if its ID and
bid equals its winner-ID and -bid, that is, if k chooses itself as a winner.
There must be one robot for which γexist holds. Together with γagree
holding for all robots, this ensures that there is exactly one winner.
Hence, if γexist and γagree hold for all robots, Γexist holds for the CSG.
The monitor of a robot k must communicate with the monitors of
all other robots in order to collect their outputs, which are contained
in wk. Based on (ik, ok, wk), the monitor of a robot evaluates γagree, γexist,
γmax based on its robot input, output, and witness. To decide Γagree, Γexist
and Γmax, the monitors have to combine their results, for example,
using a spanning tree as communication topology. To ensure the
correctness of the result, a reliable message passing mechanism such
as remote procedure call must be used for this exchange.
In other words, ψ must be true some time before the deadline t has
been passed and before that, φ has to continually hold.
With respect to the protocol presented, the following formula
expresses that within five seconds after receiving the announce
message, each robot declares its participation or non-participation in
the bidding:
φ1 = (announce → (□5 ¬(participate ⊕ not-participate)))
Analogously, the following formula expresses the 10 second timeout
for placing a bid:
φ2 = (participate → □10 bid)
One such monitor checking the formulas above runs for each robot.
Thus, the method is implicitly constrained to specify properties of the
actions and observations of a single robot.
The Boolean semantics of MTL given above has been extended to a
real-valued semantics, where the truth value of a formula is a real
number (where ∞ represents true and -∞ false) [Dokhanchi et al.
2014]. This value gives the robustness of validity or falsity of a
formula φ: If φ evaluates to the positive robustness ε, then the
specification is true and, moreover, the trace can tolerate
perturbations up to ε and still satisfy the specification. Similarly, if the
robustness is negative, then the specification is false and, moreover,
the trace under ε perturbations still do not satisfy it. This is useful for
monitoring, e.g., properties such as “If a town sign is detected, within
3 seconds, the speed is reduced to 50 km/h”, which is formulated as
(town-sign → ◇3 (speed<50))
In each timed event, the truth value of the basic event (speed<50)
could depend on the value of the actual speed minus 50, thus a trace
where the speed is reduced to 40 km/h has a higher robustness value
than one where it is reduced only to 49 km/h.
In [Lorenz and Schlingloff 2018], we use a similar idea, however,
instead of giving a fuzzy semantics to basic propositions, we let the
truth value reflect the robustness with which deadlines are met. In our
logic RVTL, the truth value of a formula with respect to a finite trace
depends on the distance between the end of the trace and the bounds
of the temporal operators in the formula. Formally,
(ρ,i)⟦◇t φ⟧ = (τi+t) - τn, if (τi+t)≥τn and (ρ,k)⟦◇t φ⟧<∞ for all i≤k≤n,
and (ρ,i)⟦◇t φ⟧ = inf {(ρ,j)⟦φ⟧ | (τi+t)≥τj}, else.
236 Creating Trust in Collaborative Embedded Systems
Intuitively, if the deadline extends past the end of the trace and φ is
not satisfied until then, the truth value of ◇t φ reflects how much time
is left to satisfy φ. Otherwise, the truth value coincides with the
classical meaning in MTL. Therefore, the value (ρ,i)⟦◇t φ⟧ provides
runtime information about the distance between the current time step
and the deadline t for φ. It quantifies how much time is left for φ to
become true before its deadline is surpassed. The value of the dual
formula (ρ,i)⟦ □t φ⟧ is calculated similarly:
(ρ,i)⟦□t φ⟧ = τn - (τi+t), if (τi+t)≥τn and (ρ,k)⟦□t φ⟧ >-∞ for all i≤k≤n,
and (ρ,i)⟦□t φ⟧ = sup {(ρ,j)⟦φ⟧ | (τi+t)≥τj}, else.
That is, if the deadline extends past the end of the trace, then the truth
value of □t φ reflects the “obligation” to obey φ for some prolonged
time; otherwise, the truth value coincides with the classical meaning.
With such a semantics, we can issue a warning already if deadlines are
nearly missed, even before an error occurred. A typical formula is
φ3 = (orderCreated→ ◇600 orderCompleted)
which states that every transport job should be completed within ten
minutes. Monitoring this formula for several days in a real production
environment shows situations where “near misses” accumulate more
and more, until finally “real misses” of the deadline occur. In a
collaborative work environment, such an agglomeration of problems
can be an early indication that the size of the fleet needs to be
increased.
10.5 Conclusion
In this chapter, we elaborated on a notion of trust in the context of
collaborative embedded systems. We discussed how different aspects
of trust can be addressed at design time and runtime. During design
time, testing the behavior of collaboration functions in an extended
set of test scenarios creates trust by enabling software behavior
certification. During design time, the prediction of software and
system behavior gives insights into decisions. In the case of dangerous
predictions, failover behavior can be triggered. We then presented
runtime monitoring — a lightweight method for establishing trust of
a user in a CSG. To this end, we introduced two runtime monitoring
techniques: certifying distributed algorithms and runtime verification
with temporal logics. Certifying distributed algorithms are tailored for
distributed runtime monitoring and therefore well-suited for
application to non-intermediate interaction through negotiation
10.6 Literature 237
10.6 Literature
[ANKI 2020] Overdrive – https://anki.com/en-us/overdrive.html; accessed on
07/14/2020.
[Avizienis et al. 2004] A. Avizienis, J.-C. Laprie, B. Randell, C. Landwehr: Basic Concepts
and Taxonomy of Dependable and Secure Computing. In: IEEE Transactions on
Dependable and Secure Computing, 2004, pp.11-33.
[Bartocci et al. 2018] E. Bartocci, Y. Falcone, A. Francalanza, G. Reger: Introduction to
Runtime Verification. In: Lectures on Runtime Verification, 2018, pp. 1-33.
[Bauer et al. 2011] A. Bauer, M. Leucker, C. Schallhart: Runtime Verification for LTL and
TLTL. In: ACM Transactions on Software Engineering and Methodology (TOSEM),
2011, pp. 1-64.
[Cabac et al. 2004] L. Cabac, D. Moldt: Formal Semantics for AUML Agent Interaction
Protocol Diagrams. In: International Workshop on Agent-Oriented Software
Engineering, 2004, pp. 47-61.
[da Silva Amorim et al. 2016] S. da Silva Amorim, J. D. McGregor, E. S. de Almeida, C. von
Flach, G Chavez: Software Ecosystems Architectural Health: Challenges x Practices.
In: Proceedings of the 10th ECSA Workshops. ACM, 2016, pp. 1-7.
[Dokhanchi et al. 2014] A. Dokhanchi, B. Hoxha, G.s Fainekos: On-Line Monitoring for
Temporal Logic Robustness. 5th International workshop on Runtime Verification
(RV 2014), Toronto. Springer LNCS 8734, 2014, pp. 231-246.
[Krasner and Pope 1988] G. Krasner, S. Pope: A Cookbook for Using the Model-View-
Controller User Interface Paradigm in Smalltalk -80. In: Journal of Object-Oriented
Programming.
[Kuhn et al. 2013] T. Kuhn, T. Forster, T. Braun, R. Gotzhein: Feral — Framework for
Simulator Coupling on Requirements and Architecture Level. In: Formal Methods
238 Creating Trust in Collaborative Embedded Systems
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License
(http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in
any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to
the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter’s Creative Commons license,
unless indicated otherwise in a credit line to the material. If material is not included in the chapter’s Creative Commons
license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to
obtain permission directly from the copyright holder.
Arvid Butting, RWTH Aachen University
Andreas Wortmann, RWTH Aachen University
11.1 Introduction
Collaborative Engineering collaborative embedded systems (CESs) and
embedded systems collaborative system groups (CSGs) usually demands the cooperation
of experts from various domains with different backgrounds,
methods, and solution paradigms that contribute to different
viewpoints (e.g., requirements, functional, logical, or technical
viewpoints) of the system [Pohl et al. 2012].
The need to translate domain-specific solution concepts into
software artifacts introduces a conceptual gap between the experts’
problem domains and the solution domain of software engineering.
This gap can give rise to accidental complexities [France and Rumpe
2007] due to the mismatch of solving problem domain challenges with
solution domain (programming) concepts.
Model-driven Model-driven development (MDD) [France and Rumpe 2007] is a
development software engineering paradigm that lifts models to the primary
development artifacts. In contrast to program code, which reifies
concepts of the solution domain, models can leverage domain-specific
concepts and terminology to express concepts of the problem domain,
which facilitates contribution by domain experts. Models can also be
more abstract and leave implementation details to smart software
engineering tools (e.g., model transformations or code generators).
To enable models to be processed automatically, they must
conform to explicit modeling languages [Hölldobler et al. 2018].
Engineering modeling languages is a challenging endeavor due to the
multitude of formalisms and technologies involved, such as (i)
grammars [Hölldobler and Rumpe 2017] or metamodels [Eysholdt et
al. 2009] to define the languages’ syntax, (ii) the Object Constraint
Language (OCL) [Cabot and Gogolla 2012] or programming languages
to define their well-formedness, and (iii) code generators [Kelly and
Tolvanen 2008] or model transformations [Mens and van Gorp 2006]
to realize their semantics (in the sense of meaning [Harel and Rumpe
2004]). As “software languages are software too” [Favre 2005], they
are also subject to all the challenges typical to complex software as
well. And similar to general software engineering, reuse is also the key
to the efficient engineering of modeling languages. This holds
especially for engineering collaborative embedded systems under the
contribution of domain experts through viewpoints that are realized
via domain-specific languages.
11.1 Introduction 241
11.2 MontiCore
MontiCore [Hölldobler and Rumpe 2017] is a language workbench
[Erdweg et al. 2015] that facilitates the engineering of compositional
modeling languages. MontiCore languages are based on a context-free
grammar (CFG) that defines the (concrete and abstract) syntax of the
respective language to which its models must conform. MontiCore
uses this CFG to generate a parser that can process models of that
language, along with abstract syntax classes that can store the
machine-processable representation of the models once they have
been parsed.
Abstract syntax tree After parsing, the models are translated into abstract syntax trees
(ASTs) — that is, instances of the abstract syntax classes generated
from the grammar. Using MontiCore’s extensional function library,
these models are checked for well-formedness and other properties,
transformed, and ultimately translated into other models, reports,
source code, or other target representations. All of these activities rely
on MontiCore’s modular visitors that process parts of the AST. Visitors
Fig. 11–6: Composing two language components A and B requires composition of their
constituents
2016]. Once the visitors are integrated, the context conditions can be
checked against the integrated structure.
Composing code Code generators are commonly used for translating models into
generators implementations that can be executed on embedded systems.
However, few techniques for the composition of code generators exist,
and these rarely enable composition of independent code generators.
Code generator composition is challenging, as the result of the
composition should produce correct code. While this is generally
impossible, we can support language engineers in developing code
generators that produce code that is structurally compatible with
code generated by other code generators [Butting et al. 2018a]. This
is realized by requiring each generator to indicate an artifact interface
to which the generated code conforms. An adapter resolves potential
conflicts between the artifact interfaces of two different code
generators.
A further challenge in code generator composition is the
coordination of the code generator execution. For some forms of
composition, such as language embedding, code generators have to
exchange information and thus comply with each other in a similar
way to the generated code. To this end, generators provide generator
interfaces to which the code generators conform. Again, potential
conflicts between two code generators that are to be composed are
resolved via adapters.
Fig. 11–8: Processes and stakeholders involved in engineering language product lines
11.6 Conclusion
We have presented concepts for composing modeling languages from
tried-and-tested language components. Leveraging these concepts
facilitates engineering of the most suitable domain-specific languages
for the different stakeholders involved in systems engineering. This
mitigates an important barrier in the model-driven development of
CESs and CSGs. Future research should encompass generalization of
language composition beyond technical spaces and support for
language evolution.
11.7 Literature
[Brooks 1987] F. P. Brooks, Jr.: No Silver Bullet: Essence and Accidents of Software
Engineering, IEEE Computer (20:4), 1987, pp 10-19.
[Cabot and Gogolla 2012] J. Cabot, M. Gogolla: Object Constraint Language (OCL): A
Definitive Guide. In: International School on Formal Methods for the Design of
Computer, Communication and Software Systems, Springer, Berlin, Heidelberg,
2012, pp. 58-90.
[Eysholdt et al. 2009] M. Eysholdt, S. Frey, W. Hasselbring: EMF Ecore based meta model
evolution and model co-evolution. In: Softwaretechnik-Trends 29.2, 2009, pp. 20-
21.
[Favre 2005] J. M. Favre: Languages Evolve Too! Changing the Software Time Scale. In:
Eighth International Workshop on Principles of Software Evolution (IWPSE'05)
IEEE, 2005, pp. 33-42.
[Forsythe 2013] C. Forsythe: Instant FreeMarker Starter. Packt Publishing Ltd, 2013.
[Harel and Rumpe 2004] D. Harel, B. Rumpe: Meaningful Modeling: What's the
Semantics of "Semantics"?. In: IEEE Computer, Volume 37, No. 10, 2004, pp 64-72.
[Heim et al. 2016] R. Heim, P. Mir Seyed Nazari, B. Rumpe, A. Wortmann: Compositional
Language Engineering using Generated, Extensible, Static Type-Safe Visitors. In:
Conference on Modelling Foundations and Applications (ECMFA'16), LNCS 9764.
Springer, July 2016, pp. 67–82.
[Mens and van Gorp 2006] T. Mens, P. Van Gorp: A Taxonomy of Model Transformation.
Electronic notes in theoretical computer science 152, 2006, pp. 125-142.
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License
(http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in
any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to
the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter’s Creative Commons license,
unless indicated otherwise in a credit line to the material. If material is not included in the chapter’s Creative Commons
license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to
obtain permission directly from the copyright holder.
Emilia Cioroaica, Fraunhofer IESE
Karsten Albers, INCHRON AG
Wolfgang Boehm, Technical University of Munich
Florian Pudlitz, Technische Universität Berlin
Christian Granrath, RWTH Aachen University
Roland Rosen, Siemens AG
Jan Christoph Wehrstedt, Siemens AG
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.
12.1 Introduction
Modeling and simulation are established scientific and industrial
methods to support system designers, system architects, engineers,
and operators of several disciplines in their work during the system
life cycle. Simulation methods can be used to address the specific
challenges that arise with the development and operation of
collaborative embedded systems (CESs). In particular, the evaluation
of collaborative system behavior in multiple, complex contexts, most
of them unknown at design time, can benefit from simulation. In this
chapter, after a short motivation, we exemplify scenarios where
simulation methods can support the design and the operation of CESs
and we summarize specific simulation challenges. We then describe
some core simulation techniques that form the basis for further
enhancements addressed in the individual chapters of this book.
12.1.1 Motivation
Simulation is a technique that supports the overall design, evaluation,
and trustworthy operation of systems in general. CESs are a special
class of embedded systems that, although individually designed and
developed, can form collaborations to achieve collaborative goals
during runtime. This new class of systems faces specific design and
development challenges (cf. Chapter 3) that can be addressed with the
use of simulation methods.
At design time, a suitable simulation allows verification and
exploration of the system behavior and the required architecture
based on a virtual integration. At runtime, when systems operate in
open contexts, interact with unknown systems, or activate new1
system functions, the aspect of trust becomes of crucial importance.
Using later research and technology advancements, we foresee the
possibility of computing trust scores of CESs directly at runtime based
on the evaluation results of system behavior in multiple simulated
scenarios. The core simulation techniques presented in this chapter
form the basis for enhanced testing and evaluation techniques.
1 “New functions” are functions that have not been enabled before in the current
internal system configuration.
12.1 Introduction 257
such tests in the design process, before the different systems are fully
designed and implemented, will allow early detection of potential
problems and hazards for the collaboration behavior.
Design-space One strategic goal for the application of simulation, especially in
exploration early design phases, is to support a design-space exploration. The
possibility to support the evaluation of a lot of design alternatives and
to identify hazards and failures in the different simulation models
allows a strategic evolutionary search for a system variant that fulfills
the desired goals and requirements.
Fulfillment of The determination of fulfilled requirements allows the simulations
requirements to serve as automation tools for test cases. The results must then be
linked to the requirements to determine the coverage. Besides the
degree of coverage, additional system behavior can be investigated in
relation to the requirements. Due to the great complexity of
collaborative systems, automated algorithms must be increasingly
used. In Section 12.3, we present a possible approach to help
developers and testers meet this challenge.
12.4 Application
The methods described above have several applications. First of all,
they support development, testing, and virtual integration, especially
in early phases of the system design. They also support the
development of extended simulation methods such as the ones used
for runtime evaluation of system trustworthiness, as presented in
Chapter 10; they support the generation of simulation models based
on a step-by-step approach, as presented in Chapter 6; and they
support the operator during system operation, as presented in
Chapter 3. Furthermore, they support system evaluation in real-world
scenarios.
Simulation methods for During the design of CESs in particular, simulation methods can
development, testing, help to check the current state of development, verify the correctness
and virtual integration
and completeness of the current design, and explore the applicability
of the next steps and extensions. For collaborative systems, virtual
integration of different systems is a special challenge, especially in
early and incomplete stages of development. The purpose is to explore
the collaborative behavior as early as possible, detect possible
hazards and failures when they are much easier to change, and adapt
the design of the systems for the solution to these hazards and
failures.
Simulating the collaborative behavior in the early stages of
development—especially for applications like autonomous driving—
should include all relevant aspects of the underlying scenarios,
especially context and physical system behavior. Co-simulation
approaches can address the challenges involved in such a
comprehensive simulation. Chapter 13 provides more details on the
possibilities and tools for realizing such simulation approaches.
Simulation methods as a Building trust into collaborative embedded systems requires a
basis for extension sustained evaluation and testing effort that spans from design time to
runtime. As detailed in the sections above, simulation is an important
technique that enables system and software testing at design time and
behavior evaluation during runtime. Within CrESt, as presented in
Chapter 10, an extension of existing simulation methods has been
realized. These methods either address runtime challenges at design
time or enable runtime evaluation of system behavior.
Simulation methods for Addressing runtime challenges at design time is enabled by
runtime evaluation extending the co-simulation method described in this chapter
towards integrating the real world (in which collaboration functions
and system functions execute on real hardware) with the virtual
world (formed by purely virtual entities). This allows the runtime
12.6 Literature 267
12.5 Conclusion
Simulation methods support the development of CESs, verification
and validation of their continuous development, from the conceptual
phase when abstract behavioral methods can be coupled through co-
simulation and verification of system behavior after detailed models
are integrated, up to the final testing of systems before deployment.
We have analyzed the benefits and challenges of CESs and of
simulation methods that support their development and testing. We
have set the basis for future extensions beyond the current state of the
art and practice.
In order to realize these technological visions, it is important to
consider the economic benefits. This means that the effort and
ultimately the cost of deployment must not exceed the benefits. One
approach will be a step-by-step realization. This will ensure that
advanced simulation methods will be a success factor for validation
and testing of CESs.
12.6 Literature
[Alexander and Maiden 2004] I. Alexander, N. Maiden (Eds.): Scenarios, Stories, Use
Cases – Through the Systems Development Life-Cycle. Wiley, Chichester, 2004.
[GMA FA 6.11 2020] R. Rosen, J. Jäkel, M. Barth: VDI Statusreport 2020: Simulation und
digitaler Zwilling im Anlagenlebenszyklus. VDI/VDE, 2020 (available in German
only).
[Rosen et al. 2019] R. Rosen, J. Fischer, S. Boschert: Next Generation Digital Twin: An
Ecosystem for Mechatronic Systems? In: 8th IFAC Symposium on Mechatronic
Systems MECHATRONICS 2019: Vienna, Austria, 2019.
[VDI 3693 2016] VDI/VDE 3693 Blatt 1:2016-08. Virtual commissioning - Model types
and glossary). Berlin: Beuth Verlag.
[Zheng et al. 2014] Y. Zheng, S. E. Li, J. Wang, K. Li: Influence of Information Flow
Topology on Closed-Loop Stability of Vehicle Platoon with Rigid Formation. In: 17th
International IEEE Conference on Intelligent Transportation Systems (ITSC), IEEE,
pp. 2094-2100.
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License
(http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in
any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to
the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter’s Creative Commons license,
unless indicated otherwise in a credit line to the material. If material is not included in the chapter’s Creative Commons
license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to
obtain permission directly from the copyright holder.
Karsten Albers, INCHRON AG
Benjamin Bolte, itemis AG
Max-Arno Meyer, RWTH Aachen University
Axel Terfloth, itemis AG
13
Anna Wißdorf, PikeTec
13.1 Introduction
Today’s heterogeneous engineering tool environments and the rising
number of different systems engineering methods lead to the need for
tool interoperability. The development of collaborative embedded
systems (CESs) adds another factor to the complexity, as the
embedded systems involved must be able to work properly in
dynamically changing collaborative system groups (CSGs) and within
their environment. This leads to more complex development
scenarios, as additional methods must be applied to develop these
systems and system groups. In addition, more organizations and
stakeholders are involved, each potentially using their own modeling
methods and supporting tools. In this context, integrating software
development tools is a crucial prerequisite for the efficient
engineering of collaborative embedded systems. In order to set up an
integrated development and modeling approach, two aspects must be
covered: first, different methods must be assembled into an
integrated methodology; second, interoperability and integration
between different tools must be established in order to set up an
integrated tool chain. This chapter focuses on the second aspect.
While enabling tool interoperability is important for every kind of CES
and CSG development method, this chapter focusses especially on
enabling tool interoperability for co-simulation-based analysis
methods. Enabling interoperability for these kinds of methods is
especially challenging, as it requires data integration not only at the
level of model artifacts, but also at the level of a joint execution. The
focus of this chapter is complementary to Chapter 12, which covers
general simulation-based analysis methods.
After categorizing the different kinds of simulation models and
motivating the need for co-simulation, we describe a tool architecture
that enables co-simulation, together with the relevant standards FMI
and DCP. The concepts and approaches discussed are exemplified by
the “Collaborative Adaptive Cruise Control (CACC)” vehicle platoon use
case (see Chapter 1).
available for the simulation models can also be limited. More abstract
models will increase the test performance and allow test and
validation in earlier phases of the development process. On the other
hand, the significance and the quality of the test results can be limited
for abstract models.
function
physics
timing
YAKINDU
Statechart Tools
YAKINDU
.c code
.c
C++
Statechar t Tools
custom
co-simulation platform MESSINA implementation
tool
slaves
wrapper
DCP
prietary
p ro-
FMI
simulation tool
simulation tool
master
& environment
proprietary DCP
e.g. physics
e.g. timing
co-simulation platform
Tool interoperability Figure 13-3 shows the exemplary architecture of an interactive co-
simulation. To enable a tool platform to support co-simulation,
various tools and models must be made interoperable. We identified
two standards as particularly relevant in the context of developing
CESs and CSGs. The first is Functional Mock-up Interface (FMI) and the
second is the Distributed Co-Simulation Protocol (DCP). These
standards can be applied by tool developers as a basis for setting up
co-simulation features or in combination with existing proprietary
solutions to extend tool interoperability. Both standards comply with
the main architectural principles and will be introduced in
subsequent sections.
.c.c.c compile
.dll
generate .xml
bundle .dll
.xml
13.7 Conclusion
In this chapter, we addressed the task of enabling tool interoperability
for co-simulation-based analysis methods for CESs and CSGs. A
particularly challenging aspect for enabling tool support for co-
simulations is that the tool integration must facilitate a joint execution
of model artifacts that are integrated at a data level.
A distributed master-slave architecture with well-defined
interfaces is the basis for orchestrating and coordinating
heterogeneous models and tools into a co-simulation. The FMI and
13.8 Literature 281
13.8 Literature
[Carla 2020] CARLA – Open Source Simulator for Autonomous Driving Research:
https://carla.org. accessed on 05/08/2020.
[Expleo 2020] MESSINA – Test Automation and Virtual Validation for Embedded
Systems: https://www.expleo-germany.com/en/produkte/messina/, accessed on
05/08/2020.
282 Tool Support for Co-Simulation-Based Analysis
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License
(http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in
any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to
the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter’s Creative Commons license,
unless indicated otherwise in a credit line to the material. If material is not included in the chapter’s Creative Commons
license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to
obtain permission directly from the copyright holder.
Emilia Cioroaica, Fraunhofer IESE
Thomas Kuhn, Fraunhofer IESE
Dimitar Dimitrov, Siemens AG
14
14.1 Introduction
By considering the actors that interact directly and indirectly with
collaborative embedded systems (CESs), the concept of collaborative
embedded systems and collaborative system groups (CSGs) extends
towards the notion of digital ecosystems. Within an ecosystem, actors
such as organizations, developers, and users have a multitude of goals,
and may act not only in cooperation but also in competition. These
dynamics influence the behavior of CESs within CSGs directly and
indirectly.
Collaborative systems In [Cioroaica et al. 2019], we have defined trust-based digital
are part of complex ecosystems where the trustworthiness of a collaborator is computed
ecosystems rather than being granted by default. In the assessment of a digital
ecosystem from the trust perspective, a trustor is the user of a service
who can trust a trustee, who is the provider of the service, to satisfy
its needs and expectations linked to a trustum, which is the service
provided. Consider an example at the level of collaborating systems in
the automotive domain: a following vehicle (trustor) uses the
coordination commands (trustum) to adapt the speed of a lead vehicle
in a platoon (trustee). Similarly, a vehicle that intends to join a platoon
(trustor) uses the goal information communicated (communication
service is the trustum) by the platoon leader (trustee) to make its
decision. The architectural model presented in this chapter supports
the creation of digital twins for holistic trust evaluation.
Trust results from reputation computed in multiple verification
scenarios. From a safety perspective, the reputation of the leading
vehicle must be evaluated to ensure trust in the ecosystem that is built
around the platoon. In the model that we introduce in this paper, the
quality of service (QoS) provided by a product has an impact on the
health of the ecosystem. According to [da Silva et al. 2017], the health
of an ecosystem is linked to how well the business develops. For
example, wrong or delayed commands lead to string instability within
a platoon. String instability is characterized by sudden braking and
acceleration, which in turn create an increase in fuel consumption
instead of a reduction (business goal). This impact is analyzed by
providing a structural hierarchy of the relationships between the
quality of service and the business goals of the actors. The
computation of trust in a collaborator starts with the evaluation of the
operational goals of the system. The results are used to evaluate the
strategic goals of the ecosystem that can be achieved by CESs. If we
14.2 Building Trust through Digital Twin Evaluation 285
Figure 14-3 and Figure 14-4 show the instantiation of the architecture
that enables the creation of digital twins in the automotive and smart
grids domains. Given its context-specific operational capacity, an
embedded system by itself is meant to operate to achieve dedicated
business goals.
14.2.1 Demonstration
In this section, we present scenarios from the automotive and smart
grid domains that benefit from the instantiation of digital twins of
their ecosystems based on the reference architecture introduced in
the previous section.
Smart Grids
In a smart grid, power can be generated by a large variety of
decentralized energy resources (DERs), such as wind turbines or
photovoltaic plants, each providing a small fraction of the energy. By
integrating a connector box (CES) on a DER, the DER is capable of
joining (tactical goal) a virtual power plant (VPP) (digital ecosystem)
to sell the energy produced (VPP associated with the business goal).
Through the deployment of collaboration functions, connector boxes
can become fully autonomous and form coalitions (CSGs) in order to
provide flexible quantities of energy (strategic goal) when requested
by a distributed system operator (actor assigned by actor assignment
to the CSG with the role type “Customer”). When no flexibility of
energy production is achieved, sanctions are applied in the form of
shutdown of the DER (risk associated with the strategic goal of
providing a flexible quantity of energy). Therefore, when a member of
a coalition cannot fulfill its commitment, a replacement must be found
(tactical goal). In order to find the right replacement, the connector
boxes must communicate accurate information about their state
(operational goal enabled by broadcasting information regarding its
status service). The connector boxes must send their status at least
once every 15 minutes (specification of the property of the “status
broadcast frequency” property type in the contract of the “status
broadcast” service). For example, if one connector box does not
communicate its status or does not communicate its status correctly,
a broadcast for bids cannot start and the flexibility for providing
energy will not be achieved.
When a smart agent inside a connector box wants to take part in a
collaboration, it must compute the level of trust in the ecosystem that
forms around the collaborating systems. This can be achieved by
querying the digital twin of the ecosystem, which provides
information about the goals of different DERs together with their
behavior evaluation in various verification scenarios and their
associated reputations.
14.3 Conclusion
In this chapter, we presented a reference architecture that enables
automatic computation of trust in ecosystems and ecosystem
14.4 Literature 293
14.4 Literature
[Avizienis et al. 2004] A. Avizienis, J. C. Laprie, B. Randell, C. Landwehr: Basic Concepts
and Taxonomy of Dependable and Secure Computing. In: IEEE transactions on
dependable and secure computing, Vol.1, 2004, pp. 11–33.
[Cioroaica et al. 2018] E. Cioroaica, T. Kuhn, T. Bauer: Prototyping Automotive Smart
Ecosystems. In: 48th Annual IEEE/IFIP International Conference on Dependable
Systems and Networks Workshops (DSN-W). IEEE, 2018, pp 255–262.
[Cioroaica et al. 2019] E. Cioroaica, S. Chren, B. Buhnova, T. Kuhn, D. Dimitrov: Towards
Creation of a Reference Architecture for Trust-Based Digital Ecosystems. In:
Proceedings of the 13th European Conference on Software Architecture - Volume
2. ACM, 2019, pp. 273–276.
[Cioroaica et al. 2019] E. Cioroaica, T. Kuhn, B. Buhnova: (Do Not) Trust in Ecosystems,
In: Proceedings of the 41st International Conference on Software Engineering,
2019.
[Hollnagel et al. 2003] E. Hollnagel, A. N å bo, I. V. Lau: A Systemic Model for Driver-in-
Control, 2003.
[Kephart et al. 2003] J.O. Kephart, D.M. Chess: The Vision of Autonomic Computing. In:
Computer 2003, pp 41–50.
[Molen et al. 1988] H. H. Van der Molen, A. M. Bötticher: A Hierarchical Risk Model for
Traffic Participants. In: Ergonomics, vol. 31, no. 4, 1988, pp. 537–555.
294 Supporting the Creation of Digital Twins for CESs
[Rosen et al. 2015] R. Rosen, G. von Wichert, G. Lo, K. D. Bettenhausen: About the
Importance of Autonomy and Digital Twins for the Future of Manufacturing. In:
IFAC-PapersOnLine48, Vol.3, 2015, pp. 567–572.
[Seaborn and Dullien, 2015] M. Seaborn, T. Dullien: Exploiting the DRAM Rowhammer
Bug to Gain Kernel Privileges, Black Hat15, 2015.
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License
(http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in
any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to
the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter’s Creative Commons license,
unless indicated otherwise in a credit line to the material. If material is not included in the chapter’s Creative Commons
license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to
obtain permission directly from the copyright holder.
Ilias Gerostathopoulos, Technical University of Munich
Alexander auf der Straße, University of Duisburg-Essen
15
Online Experiment-Driven
Learning and Adaptation
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.
15.1 Introduction
Collaborative embedded systems (CESs) and collaborative system
The behavior of CESs
and CSGs is difficult to groups (CSGs) are often large systems with complex behavior. The
completely model a complexity stems mainly from the interaction of the different
priori components or subsystems (consider, for example, the case of several
robots collaborating in pushing a door open or passing through a
narrow passage). As a result, the behavior of CESs is difficult to
completely model a priori. At the same time, CESs have to be
continuously adapted and optimized to new runtime contexts (e.g., in
the example of the collaborating robots, consider the case of an extra
obstacle that makes the door harder to open).
Approach for online In this chapter, we present an approach for online learning and
learning and adaptation adaptation that can be applied in CESs and CSGs (but also other
of CESs and CSGs
systems) that have (i) complex behavior that is unrealistic to
abstracted as black-box
models completely model a priori, (ii) noisy outputs, and (iii) a high cost of
bad adaptation decisions. We assume that the CES to be adapted is
abstracted as a black-box model of the essential input and output
parameters. Input parameters (knobs) can be set at runtime to change
the behavior of the CES. Output parameters are monitored at runtime
to assess whether the CES satisfies its goals. Noisy outputs refer to
outputs whose values exhibit high variance, and thus may need to be
monitored over long time periods. The cost of an adaptation decision
(e.g., setting a new value for one of the knobs) refers to the negative
impact of the adaptation decision on the CES.
Finding values of input Given the above assumptions, we focus on finding the values of the
parameters that input parameters of a CES that optimize (maximize or minimize) its
optimize the outputs outputs. Our approach performs this optimization online—that is,
while the system is running—and in several phases
[Gerostathopoulos et al. 2018]. In doing so, it explores and exemplifies
(i) how to build system models from observations of noisy system
outputs; (ii) how to (re)use these models to optimize the system at
runtime, even in the face of newly encountered situations; and (iii)
how to incorporate the notion of cost of adaptation decisions in the
above processes. Compared to related approaches, our approach
focuses on providing statistical guarantees (in the form of confidence
intervals and p-values) in different phases of the optimization
process.
15.2 A Self-Optimization Approach for CESs 297
1 https://github.com/Starofall/CrowdNav
15.3 Illustration on CrowdNav 301
To measure the overall system performance, CrowdNav relies on the Trip overhead is a prime
trip overhead metric. A trip overhead is a ratio-scaled variable whose example of noisy output
values are calculated by dividing the observed duration of a trip by the
theoretical duration of the trip — that is, the hypothetical duration of
the trip if there were no other cars, the smart car travelled at
maximum speed, and the car did not stop at intersections or traffic
lights. Only smart cars report their trip overheads at the end of their
trips (we assume that the rest of the cars act as noise in the simulation,
so their effect can be observed only indirectly). Since some trips will
have a larger overhead than others no matter what the router
configuration is, the dataset of trip overheads exhibits high variance
— it can thus be considered a noisy output.
Together with the trip overhead, at the end of each trip, each smart Driver complaints model
car reports a complaint value — that is, a Boolean value indicating “bad events”
whether the driver is annoyed. The complaint value is generated
based on the trip overhead and a random chance, so that some of the
“bad trips” would generate complaints (but not all). To measure the
cost of a bad configuration in CrowdNav, the metric of the complaint
rate is used: the ratio of issued complaints to the total number of
observed (trip overhead, complaint) tuples.
302 Online Experiment-Driven Learning and Adaptation
15.4 Conclusion
In this chapter, we presented an approach for runtime optimization of
CESs. Our approach relies on the concept of online experiments that
consist of applying an adaptation action (changing a configuration) of
a system that is running and observing the effect of the change on the
system output. The approach consists of three stages that, together,
combine optimization with statistical guarantees that come in the
form of confidence intervals and observed effect sizes. We have
applied the approach on a self-adaptation testbed where the routing
of cars in a city is optimized at runtime based on tuning the
15.5 Literature 303
15.5 Literature
[Gerostathopoulos et al. 2018] I. Gerostathopoulos, C. Prehofer, T. Bures: Adapting a
System with Noisy Outputs with Statistical Guarantees. In: Proceedings of the 13th
International Symposium on Software Engineering for Adaptive and Self-Managing
Systems (SEAMS 2018). ACM, 2018, pp. 58–68.
[Ghosh and Rao 1996] S. Ghosh, C. R. Rao, Eds.: Handbook of Statistics 13: Design and
Analysis of Experiments, 1st edition. Amsterdam: North-Holland, 1996.
[Kephart and Chess 2003] J. Kephart, D. Chess: The Vision of Autonomic Computing In:
Computer, vol. 36, no. 1, 2003, pp. 41–50.
[Schmid et al. 2017] S. Schmid, I. Gerostathopoulos, C. Prehofer, T. Bures: Self-
Adaptation Based on Big Data Analytics: A Model Problem and Tool. In: Proceedings
of the 12th International Symposium on Software Engineering for Adaptive and
Self-Managing Systems (SEAMS 2017). IEEE, 2017, pp. 102–108.
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License
(http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in
any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to
the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter’s Creative Commons license,
unless indicated otherwise in a credit line to the material. If material is not included in the chapter’s Creative Commons
license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to
obtain permission directly from the copyright holder.
Diego Marmsoler, Technical University of Munich
Compositional Verification
using Model Checking and
Theorem Proving
16.1 Introduction
Today more than ever, our daily life is determined by smart systems
that are embedded into our environment. Modern systems even start
collaborating with one another, making them collaborative embedded
systems (CESs), which form collaborative system groups (CSGs). Due
to the impact of such systems on modern society, verifying them has
become an important task. However, their nature also imposes new
challenges for verification.
Consider, for example, an adaptable and flexible factory as
described in [Schlingloff 2018] and depicted in Figure 16–1. Here,
robots transport items between machines and together they form a
CSG with the common goal of producing a complex item from simpler
items. During the lifetime of the CSG, new individual CESs (robots or
maybe even machines) may join the group while others may leave it.
16.2 Approach
Figure 16-2 depicts an overview of our approach for the
compositional verification of a CSG (represented as a group of
individual CESs in the center). Verification of a set of overall system
properties (represented by the list at the top right of the figure)
proceeds in three steps: (i) We first identify suitable contracts for the
individual CESs (represented by the filled boxes). (ii) We then verify
the individual CESs against their contracts (left part of the figure). (iii)
Finally, we combine the individual contracts with the description of
the architecture to verify overall system properties (right-hand part
of the figure).
16.3 Example
To demonstrate the approach, we apply it to verify a simple property
for our smart production use case.
16.3.1 Specification
We first need to specify the data types
for the messages exchanged between
the systems of our CSG. Figure 16-3
depicts a corresponding specification
in terms of an abstract data type
[Broy et al. 1984]: it specifies a data
type item to represent the items
produced in the system. For our Fig. 16-3: Production items
example, we assume that items
depend on one another in the sense that the production of a certain
item may require another item. To this end, we specify a relationship
≤ between items such that 1≤ 2 means that the
production of an 2 requires an 1. Note that the specification
makes an enumerable type, which allows us to use a successor
function to obtain the successor of an item.
As a next step, we have to specify the types of systems involved in
our production chain. Figure 16-4 depicts a possible specification in
terms of an architecture diagram [Marmsoler and Gidey 2019]: we
specify two types of CES — machines and robots. Machines are
parametrized by two items: one that represents the item a machine
can produce, and one that represents the item the machine needs for
the production. Thus, a system ℎ 〈 1, 2〉 represents a
machine that requires an 1 to produce an 2. A robot, on the
16.3 Example 309
the required input item, it will eventually produce the desired output
item.
16.3.2 Verification
Let us assume, for the purpose of our example, that we want to verify
that the CSG can produce the final production item of a chain of
arbitrary length, given that it is provided with the first item required
in the chain. For example, if we are given a chain of items
1≤ 2≤ …≤ , then our group should be able to
collaboratively produce item when it receives a corresponding
1.
As shown in Figure 16-2, verifying a specification of a CSG consists
of two parts: first, we apply model checking to verify that a single
component indeed satisfies its contracts. If we use FACTum Studio to
model our system, we could then simply generate a model and
corresponding verification conditions for the nuXmv model checker
from the specification to automatically perform the verification.
Next, we have to combine the individual contracts to show that the
overall system works correctly. To do so, we first show a smaller
result that states that for every machine-robot-machine combination,
when the first machine receives the correct input item, the second
machine provides the correct output. Note that this involves
combining three different contracts: the two contracts that ensure
that the two machines function correctly, and another contract that
ensures that the robot functions correctly. We can sketch this proof
using an architecture proof modeling language (APML) [Marmsoler
and Blakqori 2019], a notation similar to a sequence chart for
sketching composition proofs. A possible APML proof sketch is shown
in Figure 16-7: it first states the property in linear temporal logic at
the top and then provides a proof sketch in the form of a sequence
diagram. The proof sketch describes how the different contracts need
to be combined to discharge the overall proof obligation.
Note the reference to the corresponding contracts: production,
delivery, production.
Again, if we use FACTum Studio for the specification of the APML
proof sketch, then we can automatically generate a corresponding
proof for the interactive theorem prover Isabelle to check the
soundness of the proof sketch.
312 Compositional Verification using Model Checking and Theorem Proving
16.4 Conclusion
In this chapter, we described an approach for verifying CSGs based on
a combination of automatic and semi-automatic verification
techniques and we demonstrated our approach in terms of a simple
example. As shown by the example, the approach allows verification
of CSGs that consist of an arbitrary number of individual CESs. Thus,
it complements traditional verification approaches that usually
assume a static structure with a fixed number of systems involved.
In addition to the example described in this chapter, the approach
has been successfully applied to other domains as well, such as train
control systems [Marmsoler and Blakqori 2019], architectural design
patterns [Marmsoler 2018a], and even blockchain [Marmsoler
2019a]. While this showed the general feasibility of the approach, it
also revealed some limitations: one weakness concerns the expressive
power of our contracts. As of now, contracts are limited to a restricted
form of linear temporal logic and many interesting properties cannot
be expressed. Thus, future works should investigate alternative
notions of contracts to increase expressiveness. Another weakness
concerns the generation of Isabelle proofs from APML proof sketches.
Sometimes, the proofs generated do not contain all the necessary
details required by Isabelle to confirm the proof and some manual
additions may be necessary. Thus, future work should also investigate
possibilities to generate more complete proofs to minimize
interactions with the interactive theorem prover. Finally, our system
model assumes the existence of a global time to synchronize different
components. While this assumption is suitable for some scenarios,
there might be other scenarios where it might not hold. Thus, future
work should investigate possibilities to weaken this assumption.
16.5 Literature
[Broy et al. 1984] M. Broy, M. Wirsing, C. Pair: A Systematic Study of Models of Abstract
Data Types. In: Theoretical Computer Science, vol. 33, 1984, pp. 139-174.
[Broy and Stolen 2012] M. Broy, K. Stolen: Specification and Development of Interactive
Systems: Focus on Streams, Interfaces, and Refinement, Springer Science &
Business Media, 2012.
[Cavada et al. 2014] R. Cavada, A. Cimatti, M. Dorigatti, A. Griggio, A. Mariotti, A. Micheli,
S. Mover, M. Roveri, S. Tonetta: The nuXmv Symbolic Model Checker. In: Biere A.,
Bloem R. (eds) Computer Aided Verification. CAV 2014.
[Clarke et al. 1986] E. M. Clarke, E. A. Emerson, A. P. Sistla: Automatic Verification of
Finite-State Concurrent Systems Using Temporal Logic Specifications. In: ACM
Trans. Program. Lang. Syst., vol. 8, 4 1986, pp. 244–263.
314 Compositional Verification using Model Checking and Theorem Proving
[Gidey et al. 2019] H. K. Gidey, A. Collins, D. Marmsoler: Modeling and Verifying Dynamic
Architectures with FACTum Studio. In: Arbab F., Jongmans SS. (eds) Formal Aspects
of Component Software. FACS 2019.
[Manna and Pnueli 1992] Z. Manna, A. Pnueli: The Temporal Logic of Reactive and
Concurrent Systems, Springer New York, 1992.
[Marmsoler and Gleirscher 2016a] D. Marmsoler, M. Gleirscher: Specifying Properties
of Dynamic Architectures Using Configuration Traces. In: International Colloquium
on Theoretical Aspects of Computing, Springer, 2016, pp. 235–254.
[Marmsoler and Gleirscher 2016b] D. Marmsoler, M. Gleirscher: On Activation,
Connection, and Behavior in Dynamic Architectures. In: Scientific Annals of
Computer Science, vol. 26, 2016, pp. 187–248.
[Marmsoler 2018a] D. Marmsoler: Hierarchical Specification and Verification of
Architecture Design Patterns. In: Fundamental Approaches to Software
Engineering - 21th International Conference, FASE 2018, Held as Part of the
European Joint Conferences on Theory and Practice of Software, ETAPS 2018,
Thessaloniki, Greece, April 14-20, 2018, Proceedings, 2018.
[Marmsoler and Gidey 2018] D. Marmsoler, H. K. Gidey: FACTUM Studio: A Tool for the
Axiomatic Specification and Verification of Architectural Design Patterns. In:
Formal Aspects of Component Software - FACS 2018 - 15th International
Conference, Proceedings, 2018.
[Marmsoler 2018b] D. Marmsoler: A Framework for Interactive Verification of
Architectural Design Patterns in Isabelle/HOL. In: The 20th International
Conference on Formal Engineering Methods, ICFEM 2018, Proceedings, 2018.
[Marmsoler and Blakqori 2019] D. Marmsoler, G. Blakqori: APML: An Architecture
Proof Modeling Language. In: Formal Methods – The Next 30 Years, Cham, 2019.
[Marmsoler 2019a] D. Marmsoler: Towards Verified Blockchain Architectures: A Case
Study on Interactive Architecture Verification. In: Formal Techniques for
Distributed Objects, Components, and Systems, Cham, 2019.
[Marmsoler 2019b] D. Marmsoler: A Denotational Semantics for Dynamic
Architectures. In: 2019 International Symposium on Theoretical Aspects of
Software Engineering (TASE), 2019.
[Marmsoler 2019c] D. Marmsoler: A Calculus for Dynamic Architectures. In: Science of
Computer Programming, vol. 182, 2019, pp. 1-41.
[Marmsoler and Gidey 2019] D. Marmsoler, H. K. Gidey: Interactive Verification of
Architectural Design Patterns in FACTum. In: Formal Aspects of Computing, vol 31,
2019, pp. 541-610.
[Nipkow et al. 2002] T. Nipkow, L. C. Paulson, M. Wenzel: Isabelle/HOL: A Proof Assistant
for Higher-Order Logic, vol. 2283, Springer Science & Business Media, 2020.
[Schlingloff 2018] B. Schlingloff: Specification and Verification of Collaborative
Transport Robots, in 4th International Workshop on Emerging Ideas and Trends in
the Engineering of Cyber-Physical Systems (EITEC), 2018.
[Winskel 1993] Glynn Winskel: The Formal Semantics of Programming Languages: An
Introduction. MIT Press, Cambridge, MA, USA, 1993.
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License
(http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in
any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to
the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter’s Creative Commons license,
unless indicated otherwise in a credit line to the material. If material is not included in the chapter’s Creative Commons
license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to
obtain permission directly from the copyright holder.
Steffen Hillemacher, RWTH Aachen University
Nicolas Jäckel, FEV Europe GmbH
Christopher Kugler, FEV Europe GmbH
Philipp Orth, FEV Europe GmbH
17
David Schmalzing, RWTH Aachen University
Louis Wachtmeister, RWTH Aachen University
17.1 Introduction
Consistency of artifacts The development of collaborative embedded systems (CESs) typically
during the development involves the creation and management of numerous interdependent
of collaborative
development artifacts. Requirements documents specify, for example,
embedded systems
all requirements that a system under development must fulfil during
its lifetime, whereas system architectures written in the Systems
Modeling Language (SysML) [SysML 2017] enable system architects
to describe the logical and technical architecture of the system. If the
expected behavior of a system and its system components is also
modeled in SysML, automatically generated test cases [Drave et. al.
2019] can be used to check the system for compliance with these
system requirements. Accordingly, the creation of these development
artifacts extends through all phases of system development and thus
over the entire project duration. Consequently, different developers
create system requirements, architecture, and test artifacts using
diverse tools of the respective application domain. Therefore, all
artifacts must be checked for consistency, especially if further
development artifacts are to be generated automatically in a model-
driven approach. For example, it must be ensured that all components
that are mentioned in the system requirements or for which system
requirements exist are also present in the system architecture, or that
all values checked by a test case match the respective target values
specified in a requirement.
Heterogeneous Another challenge that arises during the system development
development tools process for CESs is the use of different tools during different stages of
the development project. As CESs aim to connect different embedded
systems handling multiple tasks in different embedding
environments, heterogeneous tools adapted to the application
domain are also used to create them. Furthermore, practice has
shown that new tools are introduced to the project and obsolete tools
are replaced by new ones to meet the challenges that arise in different
development phases whenever insuperable tool boundaries are
reached. As a result, the project becomes more complex, as new tools
create new dependencies and other relationships, a situation that is
amplified by the fact that the number of artifacts and their
interdependence during development constantly increases. Since
these various development tools are often incompatible with each
other and do not support relationship validation across tool
17.2 Foundations 317
17.2 Foundations
In this section, we present the modeling languages and model-
processing tools used in our approach and explain how to use these to
describe artifacts and artifact relationships.
UML/P
The UML/P language family [Rumpe 2016], [Rumpe 2017] is a A language profile of
language profile of the Unified Modeling Language (UML) [UML 2015]. UML
Due to the large number of languages involved, their fields of
application, and the lack of formalization, UML is not directly suitable
for model-driven development (MDD). However, it could be made
suitable by restricting the modeling languages and language
constructs allowed, as has been done in the UML/P language family. A
textual version of UML/P that can be used in MDD projects was
developed in [Schindler 2012]. The approach for the artifact-based
318 Artifact-Based Analysis for the Development of Collaborative Embedded Systems
OCL
OCL for analysis
OCL is a specification language of UML that allows additional
conditions of other UML languages to be modeled. For example, OCL
can be used to specify invariants of class diagrams, conditions in
sequence diagrams, and to specify pre- or post-conditions of methods.
The OCL variant of UML/P (OCL/P) is a Java-based variant of OCL. Our
approach uses the OCL/P variant only. OCL is used only in conjunction
with class diagrams throughout this approach. OCL expressions are
modeled within class diagram artifacts.
This definition focuses more on the physical manifestation of the Artifact definition
artifact rather than its role in the development process. It is therefore
less restrictive than the level characterization presented in
[Fernández et. al. 2019]. Furthermore, the definition requires an
artifact to be stored as an individual, referenceable unit. Nonetheless,
an artifact must serve a specific purpose within a development
process, making its creation and maintenance otherwise obsolete. On
the other hand, the definition does not enforce restrictions on the
integration of the artifact into the development process — that is, an
artifact does not necessarily have to be an input or output of a certain
process step. Artifacts may also exist only as intermediate or
temporary contributions of a tool chain. Moreover, the definition
largely ignores the logical content of artifacts. This level of abstraction
enables an effective analysis of the artifact structure taking the
existing heterogeneous relationships into account instead of
analyzing the internal structure of artifacts.
320 Artifact-Based Analysis for the Development of Collaborative Embedded Systems
Fig. 17–2: The role of an artifact model and corresponding artifact data within an
MDD project
Role of an artifact An important part of the overall approach is the identification of the
model and artifact data artifacts, tools, systems, etc. present in the development process and
within an MDD project
their relationships. Different modeling techniques provide a means to
make these explicit and thus enable model-based analyses. Figure 17-
2 gives an overview of the model-based solution concept. First, the
types of artifacts, tools, and other elements of interest, as well as their
relationships within a development process, must be defined. It is the
task of an architect, who is well-informed about the entire process, to
model these within an artifact model (AM). This model structures the
artifact landscape of the corresponding process or a development
project. The AM defines only the types of elements and relationships
and not the specific instances; therefore, this model can remain
unchanged over the entire life cycle of the process or the project
unless new types of elements or relationships are added or removed.
Moreover, once created, the model can be reused completely or
partially for similar projects.
Fig. 17–5: Modeling languages used for the artifact model and data
Artifact data are in an ontological instance relationship [Atkinson and Relationship of artifact
Kuhne 2003] to the AM. Each element and each relationship from the data to an artifact
model
artifact data correspond to an element or a relationship type of the
AM. The AM thus prescribes the structure of its artifact data. Figure
17-5 shows how this is achieved in terms of modeling techniques.
During the artifact-based analyses, artifact data represent the project
state at a certain point in time. Analysts and analysis tools use the
artifact data to understand the current project state, to check certain
relationships, create reports, and to check for optimization potential
within the project. Ultimately, the goal is to make the software
development process as efficient as possible. This approach is
especially suited for checking the consistency of the architecture of
model-driven software development projects or processes. It is
capable of handling input models, model-driven development (MDD)
tools—which themselves consist of artifacts—and handwritten or
generated artifacts that belong to the end product of the development
process. In such a case, the AM depends on the languages, tools, and
technologies used in the development process or project. Thus, it is
usually tailored specifically to a process or project.
In this part of the AM core, the composite pattern [Gamma et. al. 1995] Composition of artifacts
ensures that archives and folders can contain each other in any order. and artifact containers
Each type of artifact is contained in exactly one artifact container. If all
available artifact types are modeled, there is exactly one type of
artifact not contained by a container — that is, the root directory of
the file system. Furthermore, artifacts can contribute to the creation
of other artifacts (creates relationship) and they can statically refer to
other artifacts (refers to relationship). These artifact relationships are
defined as follows:
Artifact-Based Analyses
Executing artifact-based The third step in Figure 17-6 is the artifact-based analysis, which
analysis executes the previously specified analyses. This step is refined into
five sub-steps. Each step is supported by automated and reusable
tools. Figure 17-10 presents these steps and the corresponding tools.
Fig. 17–10: Steps of artifact-based analysis with tools (rectangles), resulting files (file
symbols), and the execution flow (directed arrows)
Steps and components The first step in artifact-based analyses is to extract relevant project
for performing artifact- data. If stored in different files, the data must be merged. The entire
based analysis
data set is then checked for compliance with the AM. In the next step,
the data is accumulated based on the specification of the AM, to ensure
the derived properties are present for the last step, the artifact data
analysis. [Greifenberg 2019] presents a tool chain that can be used to
collect, merge, validate, accumulate, and finally, to analyze artifact
data. The tool chain supports all sub-steps of the artifact-based
analysis. The individual steps are each performed by one or more
small tools that, combined, form the tool chain. The tools shown in
Figure 17-10 are arranged according to the order of execution of the
tool chain. The architecture as a tool chain is modular and adaptable.
The primary data format for exchanging information between tools is
17.4 Artifact Model for Systems Engineering Projects with Doors NG and Enterprise Architect 325
Fig. 17-11: Artifact model for exports of Doors NG and Enterprise Architect, as well as
their relationships
Modeling exports of In the XMI export created by Enterprise Architect, exactly one model
Doors NG and Enterprise for the overall system modeled in the EA project is exported. This
Architect
model contains any number of diagrams and elements (named
Diagram and EAElement in the artifact model of Figure 17-11).
Furthermore, each diagram has any number of elements, represented
in the class diagram of the artifact model under consideration by the
consistsOf association. Since the example considered is limited to
architectural elements, not all diagram types of SysML are modeled in
the artifact model; only the structural diagrams relevant for the logical
architecture are modeled in the form of the Internal Block Diagram
(IBD) and the Block Definition Diagram (BDD). A decisive advantage
of the artifact models is that not all possible artifacts have to be
modeled; the model can be limited to the artifacts relevant for the
analysis. Similarly, only signal flows and parts—as the internal
representation of ports in EA—are defined for the example under
consideration. In the BDD, only the block is modeled as a relevant
diagram element and all relationships in the BDD are no longer
displayed. The ReqIF export of Doors NG is also represented as an
artifact in the artifact model. Each DoorsExport contains at least one,
17.4 Artifact Model for Systems Engineering Projects with Doors NG and Enterprise Architect 327
but otherwise any number of modules that also contain one or more
DoorsElements. In this context, a mixture of Chapters, Requirements,
and ArchElements serve as specialized DoorsElements.
Fig. 17–12: Tool chain workflow from artifact data extraction to analysis
17.5 Conclusion
Model-driven development aims to reduce the complexity in the Employing artifact-
development of collaborative embedded systems by reducing the based analysis to
facilitate model-driven
conceptual gap between problem and solution domain. The use of
development
models and MDD tools enables at least a partial automation of the
development process. In larger development projects involving
several different domains in particular, the huge number of different
artifacts and their relationships makes managing them difficult. This
can lead to poor maintainability or an inefficient process within the
project. The goal of the approach presented is the development of
concepts, methods, and tools for artifact-based analysis of model-
driven software development projects. Here, the artifact-based
analysis describes a reverse engineering methodology that enables
repeatable and automated analyses of artifact structures. In this
approach, UML/P provides the basis for modeling artifacts and their
relationships, as well as specifying analyses. A combination of the
UML/P class diagrams and OCL is used to create project-specific
artifact models. Additionally, analysis specifications can be defined
using OCL while artifact data that represents the current project state
is defined using object diagrams, which are instances of the artifact
model. This allows the consistency between an AM and its artifact data
to be checked. The models are specified in a human-readable form but
can also be processed automatically by other MDD tools. The example
presented for artifact-based analysis of Enterprise Architect and
Doors NG shows the practicability for checking the consistency of
artifacts across heterogeneous tools. Here, automated analyses enable
system architects to check the conformity of specified components to
330 Artifact-Based Analysis for the Development of Collaborative Embedded Systems
17.6 Literature
[Atkinson and Kuhne 2003] C. Atkinson, T. Kuhne: Model-Driven Development: A
Metamodeling Foundation. In: IEEE Software, 2003, pp. 36–41.
[Atzori et. al. 2010] L. Atzori, A. Iera, G. Morabito: The Internet of Things: A Survey. In:
Computer Networks, 2010, pp. 2787 – 2805.
[Brambilla et. al. 2012] M. Brambilla, J. Cabot, M. Wimmer: Model-Driven Software
Engineering in Practice. Morgan & Claypool Publishers, 2012.
[Butting et. al. 2018] A. Butting, T. Greifenberg, B. Rumpe, A. Wortmann: On the Need
for Artifact Models in Model-Driven Systems Engineering Projects. In: Software
Technologies: Applications and Foundations, Springer, 2018, pp. 146-153.
[Cheng et. al. 2015] B. H. C. Cheng, B. Combemale, R. B. France, J. Jézéquel, B. Rumpe: On
the Globalization of Domain-Specific Languages. In: Globalizing Domain-Specific
Languages. LNCS 9400, Springer, 2015, pp 1–6.
[Drave et. al. 2019] I. Drave, T. Greifenberg, S. Hillemacher, S. Kriebel, E. Kusmenko, M.
Markthaler, P. Orth, K. S. Salman, J. Richenhagen, B. Rumpe, C. Schulze, M. von
Wenckstern, A. Wortmann: SMArDT Modeling for Automotive Software Testing. In:
R. Buyya, J. Bishop, K. Cooper, R. Jonas, A. Poggi, S. Srirama: Software: Practice and
Experience. 49(2), Wiley Online Library, 2019, pp. 301-328.
[Ebert and Favaro 2017] C. Ebert, J. Favaro: Automotive Software. In: IEEE Software,
Vol. 34, 2017, pp. 33-39.
[Fernández et. al. 2019] D.M. Fernández, W. Böhm, A. Vogelsang, J. Mund, M. Broy, M.
Kuhrmann, T. Weyer, 2019. Artefacts in Software Engineering: A Fundamental
Positioning. In: Software & Systems Modeling, 18(5), pp. 2777-2786.
[France and Rumpe 2007] R. France, B. Rumpe: Model-Driven Development of Complex
Software: A Research Roadmap. In: Future of Software Engineering (FOSE ’07),
2007, pp. 37-54
[Gamma et. al. 1995] E. Gamma, R. Helm, R. Johnson, J. Vlissides. Design Patterns:
Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
[Greifenberg 2019] T. Greifenberg: Artefaktbasierte Analyse modellgetriebener
Softwareentwicklungsprojekte. In: Aachener Informatik-Berichte, Software
Engineering, Band 42, Shaker Verlag, 2019 (available in German only).
[Greifenberg et. al. 2017] T. Greifenberg, S. Hillemacher, B. Rumpe: Towards a
Sustainable Artifact Model: Artifacts in Generator-Based Model-Driven Projects. In:
Aachener Informatik-Berichte, Software Engineering, Band 30, Shaker Verlag,
2017.
[Jackson 2011] D. Jackson: Software Abstractions: Logic, Language, and Analysis. MIT
press, 2011.
[Krcmar et. al. 2014] H. Krcmar, R. Reussner, B. Rumpe: Trusted Cloud Computing.
Springer, Switzerland, 2014.
17.6 Literature 331
[Lee 2008] Edward A. Lee: Cyber-Physical Systems: Design Challenges. In 11th IEEE
International Symposium on Object and Component-Oriented Real-Time
Distributed Computing (ISORC), 2008, pp. 363–369.
[Maoz et. al. 2011] S. Maoz, J. O. Ringert, B. Rumpe: An Operational Semantics for
Activity Diagrams using SMV. In: Technical Report. AIB-2011-07, RWTH Aachen
University, Aachen, Germany, 2011.
[Müller et. al. 2016] Markus Müller, Klaus Hörmann, Lars Dittmann, Jörg Zimmer:
Automotive SPICE in der Praxis: Interpretationshilfe für Anwender und
Assessoren. 2edition, dpunkt.verlag, 2016 (available in German only).
[OCL 2014] Object Management Group: Object Constraint Language, 2014.
http://www.omg.org/spec/OCL/2.4; accessed on 04/30/2020.
[Roth 2017] Alexander Roth: Adaptable Code Generation of Consistent and
Customizable Data-Centric Applications with MontiDex. In: Aachener Informatik-
Berichte, Software Engineering: Band 31, Shaker Verlag, 2017.
[Rumpe 2016] B. Rumpe: Modeling with UML: Language, Concepts, Methods. Springer
International, 2016.
[Rumpe 2017] B. Rumpe: Agile Modeling with UML: Code Generation, Testing,
Refactoring. Springer International, 2017.
[Schindler 2012] M. Schindler: Eine Werkzeuginfrastruktur zur agilen Entwicklung mit
der UML/P. In: Aachener Informatik-Berichte, Software Engineering. Band 11.
Shaker Verlag, 2012 (available in German only).
[SysML 2017] Object Management Group. OMG Systems Modeling Language, 2017.
http://www.omg.org/spec/SysML/1.5/; accessed on 04/30/2020.
[UML 2015] Object Management Group. Unified Modeling Language (UML), 2015.
http://www.omg.org/spec/UML/; accessed on 04/30/2020.
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License
(http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in
any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to
the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter’s Creative Commons license,
unless indicated otherwise in a credit line to the material. If material is not included in the chapter’s Creative Commons
license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to
obtain permission directly from the copyright holder.
Jörg Christian Kirchhof, RWTH Aachen University
Michael Nieke, TU Braunschweig
Ina Schaefer, TU Braunschweig
David Schmalzing, RWTH Aachen University
Michael Schulze, pure-systems GmbH
18.1 Introduction
Product line engineering Configurability and variability play a pivotal role for collaborative
embedded systems (CESs). Individual configurations enable
customization and flexibility while, optimally, allowing a high degree
of reuse between different variants. Product line engineering is an
approach that enables mass customization for families of similar
(software) systems [Schaefer et al. 2012]. During domain engineering
(DE), commonalities and variabilities of variants of a product line—
that is, its configured product instances—are typically captured in
terms of features [Pohl et al. 2005]. A feature represents increments
to the functionality of products. Variability models, such as feature
models [Kang et al. 1990], organize features and the relationships
between them. Features are mapped to realization artifacts, such as
code, models, or documentation. During application engineering (AE),
a variant is derived by defining a configuration that consists of
selected features [Pohl et al. 2005]. Using this configuration and the
feature-artifact mapping, the resulting artifacts can be composed to
form a variant.
Variability for For collaborative embedded systems (CES), supporting and
collaborative embedded managing variability is crucial. Typically, a CES is developed once and
systems
deployed for different customers and in different environments. Thus,
a CES must accommodate customer-specific requirements and be
applicable in different environments. Developing these different CES
variants individually does not scale economically. Moreover, separate
variant development is bad practice as the different variants
inevitably diverge from each other, which results in incompatibilities,
bugs/errors, and significantly higher maintenance effort [Pohl et al.
2005].
Modifying derived The optimal situation is that all variants are created, maintained,
variants and updated during DE using the product line artifacts and the
variability model. In practice, however, customers often require
adaptations or updates for their variant, with the adaptations or
updates being implemented by changing only this particular variant
during AE. For instance, a CES is deployed for one specific customer
and this customer requires changes at short notice or implements
their own changes. This has several advantages: first, the complexity
of implementing such changes is comparably low as the impact on
other variants does not have to be considered; second, the time
required to deploy new changes and thus the costs are low as well.
18.1 Introduction 335
1 While this operation can be considered as a combination of the two basic operations
add and remove, its semantics is important for determining conflicts. Hence, we treat
this operation separately.
340 Variant and Product Line Co-Evolution
18.3.5 Implementation
In our prototypical implementation, we have integrated the process
described into pure::variants2, the leading industrial variant
management tool, which supports the development of product lines.
This tool can manage different types of realization artifacts, either by
means of generic modeling in the tool or by means of integration into
external tools using specific connectors. The derivation process for
variants is handled by an extensible set of transformations that are
specific to the artifact type or external tool. These transformations are
the connection point for our implementation. Since the chosen
approach is generic, the prototypical implementation supports all
types of artifacts as long as a three-way comparison is available for
the specific artifact type. For example, for source code, the internal
local repository is realized by simply creating folders for the ancestor
as well as latest references, as can be seen in Figure 18-4 from the box
in the upper left corner.
The three-way comparison and the merge are then executed using
the three directories directly, while specifying the ancestor directory
as the common base of the two others once. Thus, when an application
engineer wants to update their working copy, they start a new
derivation of the current variant, which leads to the generation of a
new latest version, followed by triggering the compare and merge
operation. If there are no conflicts that have to be resolved manually,
the application engineer will get the merged result. If there are
conflicts, the application engineer must resolve them by deciding
which version—working copy or latest—they prefer to be in the
merged result. At the end, the application engineer gets a merged
version semi-automatically.
The prototypical implementation was presented to different
customers and received a positive response, with many of those
customers facing the challenges mentioned with regard to variant and
2 www.pure-systems.com
344 Variant and Product Line Co-Evolution
Our goal is to lower the barrier for adopting changes to variants in Prerequisites for
product line engineering by supporting the propagation of changes propagating changes
from a variant's working copy to the product line. To adequately
propagate changes to the DE level, we have to a) detect changes, b)
make the feature information available at AE level, c) assign changes
to features or the codebase, and d) resolve each conflicting co-change.
We propose a process that detects changes in the working copy of a
variant then maps them to the appropriate features and transfers
them semi-automatically to the product line.
Fig. 18-5: Activities for propagating changes from the AE level to DE level
Underlying Model
General model Artifacts, their content, and their relationships can be represented
description abstractly as a graph = ( , ). Here, the set of vertices V represents
artifacts or elements of artifacts in the desired granularity, and the set
of typed edges = × × represents their relationships, where T
is the set of kinds of relationships identified. One possible realization
of this data structure is object diagrams, which adequate
transformations can extract directly from a development project and
which we can employ to identify the impact of individual changes
[Butting et al. 2018]. We use this data structure as an internal
representation of model artifacts to abstract from concrete syntax
changes.
18.4 Propagating Changes from Application Engineering Level to Domain Engineering Level 347
Prerequisites for With a complete annotation of the original model elements with
assigning changes to features, and incomplete information about new features, we can
features annotate the remaining changes with features through further
analysis. Generally, this can only be achieved partially automatically
through a recommendation engine. In some cases, annotating changes
with features may be computed fully automatically depending on the
quality of analyses employed, the unambiguity of the resulting
annotations, and on conflicts in other variants when propagating
changes to DE level artifacts.
Noteworthy feature As before, we focus on the three operations add, remove, and
relationships for the modify. Furthermore, we incorporate domain knowledge into our
recommendation
analysis; that is, we consider the parent-child relationship and
the requires relationship of features. Using well-formedness rules
together with domain knowledge enables us to limit the set of features
that can contain a particular change. The concrete implementation,
however, depends on the modeling language and variability
specification mechanism used. The notes here provide the basis for
implementing appropriate analyses for the respective circumstances.
Removal of model A model element can only be removed in the feature that
elements introduced it (the annotated feature) or in any of its dependent
features. We call a feature f1 dependent on a feature f2 if f1 is in a child-
hierarchy of f2 or if f1 requires f2. Dependent features can be removed
only if the variability specification mechanisms support removing
elements that have been introduced in another feature (e.g.,
transformational variability specification mechanisms). If model
element e is removed at AE level, then ( ) = (model element e is
18.4 Propagating Changes from Application Engineering Level to Domain Engineering Level 349
18.5 Conclusion
Variability and configurability play a pivotal role for CESs and CSGs.
Product line engineering is an approach for structured reuse and
management of CES and CSG variability. To meet new requirements,
product lines evolve, and their variants can be updated accordingly.
However, in industrial practice, individual variants are modified,
which yields the threat of incompatibility. In this article, we proposed
an approach to keep product lines and their variants synchronized.
With this approach, the benefits of performing evolution at both
product line level and variant level are combined. With a high degree
of automation, engineers can perform evolution at variant level
without the drawback of a high manual effort to synchronize the
product line with the modified variant. Consequently, our
contributions make product line engineering more applicable for
industrial practice.
18.6 Literature
[Batory 2005] D. Batory: Feature Models, Grammars, and Propositional Formulas. In:
International Conference on Software Product Lines, Springer, Berlin, Heidelberg,
September 2005, pp. 7-20.
18.6 Literature 351
[Clarke et al. 2010] D. Clarke, M. Helvensteijn, I. Schaefer: Abstract Delta Modeling. In:
Proceedings of the Ninth International Conference on Generative Programming and
Component Engineering, ACM, 2010, pp. 13-22.
[Kang et al. 1990] K.C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, A. S. Peterson: Feature-
Oriented Domain Analysis (FODA) Feasibility Study (No. CMU/SEI-90-TR-21).
Carnegie-Mellon Univ Pittsburgh Pa Software Engineering Inst., 1990.
[Pohl et al. 2005] K. Pohl, G. Böckle, F. van der Linden: Software Product Line
Engineering - Foundations, Principles, and Techniques. Springer 2005, ISBN 978-
3-540-24372-4.
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License
(http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in
any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to
the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter’s Creative Commons license,
unless indicated otherwise in a credit line to the material. If material is not included in the chapter’s Creative Commons
license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to
obtain permission directly from the copyright holder.
Manfred Broy, Technical University of Munich
Wolfgang Böhm, Technical University of Munich
Bernhard Rumpe, RWTH Aachen University
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).
19.1 Introduction
Cyber-physical systems Many systems and technical products developed today and in the
future are or will be cyber-physical systems. These systems exhibit
physical as well as smart, complex, and high-performance
functionality, are typically not "stand alone," being instead connected
to users and to other systems via digital networks such as the Internet,
and their services mutually use and complement each other. It is
recognizable that to a certain extent, subsystems, which are created
by heuristic procedures, are built into the systems, — for example, by
"learning procedures."
Typical for those cyber-physical systems is that they embody
software intensively, which enables powerful and connected
functionalities that go dramatically beyond what was possible in the
past for rather isolated mechatronic systems. The high proportion of
software leads to an extensive design space in which the most diverse
requirements can be identified. Therefore, the identification of a
requirements concept is of particular importance. This also creates
extensive potential for innovation, both in terms of purely logical
functionality but also very much in human-centered human-machine
interaction and automation up to full autonomy.
Cyber-physical systems are characterized by the fact that they
usually have mechatronic components, especially sensors and
actuators to enable the interaction between physical and software
components as well as an interaction of the systems with their
environment. These new forms of software enable functionalities
through the use of advanced software technology, including artificial
intelligence methods, and enable human-centered user interfaces for
these systems.
Software as a driving It is particularly noteworthy that today's systems contain an
factor extensive proportion of software for good reasons, as this enables
functionalities that were completely out of scope even a few years ago.
Due to the strong networking, it is obvious to connect systems with
completely different tasks and functionalities — in order to use
functionality from other systems, but also to make functionality
available for other systems and thus increase the degree of
automation and optimization.
19.2 Advanced Systems Engineering 355
19.6 Conclusion
ASE requires a clean scientific foundation and a consistent integration
of software development and system development methods when
designing software-intensive cyber-physical systems. Central to
advanced systems engineering is the use of digital techniques in both
the product and the development process and the exploitation of the
synergies between them. The preliminary work in the area of model-
based development of software-intensive systems offers an ideal
entry point. Nothing less than a paradigm shift from the engineering
of mechanical machines to the integrated engineering of networked,
information-centric mechanical systems must be mastered.
364 Advanced Systems Engineering
19.7 Literature
[Broy 2010] M. Broy: A Logical Basis for Component-Oriented Software and Systems
Engineering. In: The Computer Journal, Vol. 53, No. 10, 2010, pp. 1758-1782.
[Broy and Rumpe 2007] M. Broy, B. Rumpe: Modulare hierarchische Modellierung als
Grundlage der Software- und Systementwicklung. In: Informatik-Spektrum.
Springer Verlag, Band 30, Heft 1, 2007 (available in German only).
[Broy and Stølen 2001] M. Broy, K. Stølen: Specification and Development of Interactive
Systems: Focus on Streams, Interfaces, and Refinement, Springer, 2001.
[Broy et al. 2007] M. Broy, M. L. Crane, J. Dingel, A. Hartmann, B. Rumpe, B. Selic: UML 2
Semantics Symposium: Formal Semantics for UML. In: Models in Software
Engineering. Workshops and Symposia at Models 2006. Genoa, LNCS 4364,
Springer, 2007.
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License
(http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in
any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to
the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter’s Creative Commons license,
unless indicated otherwise in a credit line to the material. If material is not included in the chapter’s Creative Commons
license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to
obtain permission directly from the copyright holder.
Appendices
A – Author Index
368 Authors
Authors 369
D Granrath, Christian
RWTH Aachen University
Junior professorship for mechatronic
Daun, Dr. Marian systems for combustion engines
University of Duisburg-Essen Forckenbeckstr. 4
paluno – The Ruhr Institute for Software 52074 Aachen, Germany
Technology
Gerlingstr. 16
45127 Essen, Germany
H
Hayward, Alexander
Dimitrov, Dimitar
Helmut Schmidt University Hamburg
Siemens AG
Institute of Automation Technology
Corporate Technology
Holstenhofweg 85
Otto-Hahn-Ring 6
22043 Hamburg, Germany
81739 Munich, Germany
F Hildebrandt, Constantin
Helmut Schmidt University Hamburg
Institute of Automation Technology
Fay, Prof. Dr.-Ing. Alexander Holstenhofweg 85
Helmut Schmidt University Hamburg 22043 Hamburg, Germany
Institute of Automation Technology
Holstenhofweg 85
Hillemacher, Steffen
22043 Hamburg, Germany
RWTH Aachen University
Software Engineering
Feeken, Linda Ahornstr. 55
Oldenburg Institute for Information 52074 Aachen, Germany
Technology (OFFIS)
Escherweg 2
26121 Oldenburg, Germany
J
370 Authors
K Krajinski, Lisa
University of Duisburg-Essen
paluno – The Ruhr Institute for Software
Käser, Lorenz Technology
PikeTec GmbH Gerlingstr. 16
Waldenserstr. 2-4 45127 Essen, Germany
10551 Berlin, Germany
Kranz, Sieglinde
Kirchhof, Jörg Christian Siemens AG
RWTH Aachen University Corporate Technology
Software Engineering Otto-Hahn-Ring 6
Ahornstr. 55 81739 Munich, Germany
52074 Aachen, Germany
Kugler, Christopher
Kläs, Michael FEV Europe GmbH
Fraunhofer Institute for Experimental Neuenhofstr. 181
Software Engineering (IESE) 52078 Aachen, Germany
Fraunhofer-Platz 1
67663 Kaiserslautern, Germany
Kuhn, Dr. Thomas
Fraunhofer Institute for Experimental
Klein, Dr. Cornel Software Engineering (IESE)
Siemens AG Fraunhofer-Platz 1
Corporate Technology 67663 Kaiserslautern, Germany
Otto-Hahn-Ring 6
81739 Munich, Germany
L
Klein, Dr. Wolfram
Laxman, Nishanth
Siemens AG
Technical University of Kaiserslautern
Corporate Technology
Department of Computer Science
Otto-Hahn-Ring 6
Gottlieb-Daimler-Str. 47
81739 Munich, Germany
67653 Kaiserslautern, Germany
Koo, Chee Hung
Robert Bosch GmbH
M
Corporate Sector Research and Advance
Engineering Malik, Dr. Vincent
Robert-Bosch-Campus 1 Siemens AG
71272 Renningen, Germany Corporate Technology
Otto-Hahn-Ring 6
81739 Munich, Germany
Authors 371
372 Authors
Authors 373
374 Authors
Wißdorf, Anna Z
PikeTec GmbH
Waldenserstr. 2-4 Zeller, Dr. Marc
10551 Berlin, Germany Siemens AG
Corporate Technology
Wolf, Stefanie Otto-Hahn-Ring 6
Siemens AG 81739 Munich, Germany
Corporate Technology
Günther-Scharowsky-Str. 1 Zernickel, Jan-Stefan
91058 Erlangen, Germany InSystems Automation GmbH
Wagner-Régeny-Str. 16
12489 Berlin, Germany
B – Partner
Bertrandt GmbH
The Bertrandt Group has been providing development solutions for the international
automotive and aviation industry for over 35 years. A total of around 11,000
employees at 44 locations stand for in-depth know-how, future-oriented project
solutions and a high degree of customer orientation.
In the dynamic environment of the automotive and aviation industry, the
complexity of individual mobility solutions is constantly increasing. The trends
towards environmentally friendly mobility, networking, safety and comfort today
require comprehensive technical know-how in product development. As a co-designer
of sustainable mobility, Bertrandt is constantly adapting its range of services to the
needs of its customers and to changing market conditions. For the international
automotive industry, the range of services covers the entire value-added chain of
product creation: from the initial idea, through the development and validation of
components, modules and systems, to complete vehicles with related services such as
quality, supplier and project management or training.
In the field of electronics development, Bertrandt's activities range from the classic
areas (infotainment, comfort, chassis, on-board networks, etc.) to the current and new
challenges surrounding electrified driving and vehicle networking (Car2X) in the areas
of driver assistance systems, automated driving, online services/apps,
infrastructure/IT. At the Ingolstadt site, among others, holistic solutions for the
automotive industry are developed with a focus on bodywork, interior,
electrics/electronics with its own electronics center, powertrain, FE
simulation/calculation and testing/trial. In the field of driver assistance systems, the
entire development process is covered here, from requirements analysis to software
development and overall system testing in various projects.
www.bertrandt.com
fortiss GmbH
The Munich research and transfer institute for software-intensive systems, fortiss
GmbH, was founded in 2009 as an affiliated institute of the TU Munich together with
the Fraunhofer Gesellschaft and the LfA Förderbank Bayern. The Department of
Software and Systems Engineering (Head of Department PD Dr. Schätz) is involved in
the project. The department develops cross-domain integrated software and system
architectures and related development methods and tools. The department offers
comprehensive competence in modern methods and tools for the professional
development of software-intensive systems, starting with the elicitation of
requirements up to verification and integration. In particular, the goal is to prepare and
apply basic methods - such as formal model checking or automatic design space
exploration - for engineering applications on an industrial scale. The main focus is on
automotive, avionics, rail and energy systems, among others.
www.fortiss.org
378 Partner
Humboldt-Universität zu Berlin
Humboldt-Universität zu Berlin was the first German university to introduce the unity
of research and teaching, to uphold the ideal of research without restrictions and to
provide a comprehensive education for its students. Today, Humboldt-Universität is in
all rankings among the top German universities. It was chosen “University of
Excellence” in June 2012, with a renewed labelling within the Berlin University Alliance
in 2019. The computer science department of Humboldt-Universität was founded in
1989. It encompasses 21 research groups, structured into the three clusters "Data and
Knowledge Engineering", "Algorithms and Structures", and "Model-driven systems
engineering". The research group "Specification, Verification and Test Theory" is
headed by Prof. Schlingloff. The group has been working for 15 years on formal
methods of software development, mainly in the field of safety-critical embedded
systems. It has close connections to Fraunhofer FOKUS, where Prof. Schlingloff is chief
scientist. Current research topics include quality assurance of embedded control
software, model-based development and model checking, logical specification and
verification of requirements, automated software testing, and online monitoring of
safety-critical systems with formal methods.
www.hu-berlin.de
380 Partner
INCHRON AG
INCHRON AG is a specialist in the development methodology of embedded systems
with hard real-time requirements. Our mission is to support our customers with our
knowledge, experience, advanced tools, and broad industry expertise in the
development of embedded systems of any kind and complexity.
With our sophisticated methodology, which undergoes continuous refinement, we
shape the future of embedded systems development. The INCHRON Tool-Suite is an
essential part of our methodology and provides state-of-the-art tools for analysis,
simulation, optimization, and detailed prediction of the dynamic behavior of
embedded software. Its successful practical use and integration into development
processes of varying operational domains serve to prove the outstanding capabilities
of this unique tool. Areas of expertise include:
Detailed analysis of the performance and runtime behavior of embedded
systems of any complexity using simulation and worst-case analysis.
Automated optimization of the dynamic behavior of stand-alone or
distributed systems.
Design and early analysis of new/changed system architectures through
frontloading.
Efficient porting of single-core software to multi-core processors.
Adaptation of existing software to alternative networking technologies, such
as FlexRay or Ethernet.
End-to-end timing analysis of event chains, from sensor to actuator, via ECUs
or Domain Controllers and in-vehicle networks.
Detailed documentation of real-time requirements and their degree of
conformance.
Determination and elimination of the causes of runtime errors such as
interrupt and task displacement, life/deadlocks of tasks, or stack overflows.
Detailed analysis of complex scheduling scenarios.
Trace analysis and trace visualization (Lauterbach, iSYSTEM, and other
proprietary formats).
Support for industry-specific standards such as AUTOSAR, ARINC-653, AFDX.
Functional safety (ISO 26262).
Increased level of test coverage through statistical analysis of compliance
with real-time requirements, combined with stress tests and robustness
analyses.
Autonomous driving is a key focus application for INCHRON. Our customers are
already using our approach and tools with great success in the design, optimization,
and testing of modern driver assistance systems (ADAS), the preliminary stage to
autonomous driving. The use of the solutions INCHRON provides will prove
indispensable in the future in coping with the exceptional complexity of such advanced
automotive platforms.
www.inchron.com
Partner 381
itemis AG
itemis AG is a specialist for model-based software and systems engineering and
integrated, modular tool chains. Itemis AG is a leader in developing domain-specific
modelling environments on the open source platform Eclipse. With 200 employees,
itemis works in Germany and with branches in France, Switzerland and Tunesia for
well-known customers and accompanies them with regard to the methodical and tool-
technical implementation of model-based development processes. One focus is the
application of model-based development processes in the area of embedded systems.
The main areas of knowledge are domain-specific modelling methods, behavioural
modelling & simulation based on different concepts like state machines, component-
based modelling and interface definition languages, code generation, model analysis,
artefact traceability for tracking requirements, requirements management, support for
industry-specific standards such as AUTOSAR, ReqIF, ISO26262
itemis develops the technical infrastructure for building modelling tools based on
various technologies like Eclipse EMF, Xtext, GEF and Xtend, or Jetbrains MPS with
extensions like mbeddr. In this role itemis AG provides basic technologies for the
implementation of textual and graphical modelling languages. In CrESt, itemis AG
focussed on the tool-technical aspects of the research project. In EC1 and EC2, the focus
is on the modelling of system architectures. In the MQ3, various cross-cutting aspects
of the required tool platform like artefact management and co-simulation were
considered.
www.itemis.com
OFFIS e.V.
The OFFIS - Institute for Information Technology was founded in 1991 and is an An-
Institute of the University of Oldenburg through a cooperation agreement. Its members
are the state of Lower Saxony, the University of Oldenburg as well as professors of the
Department of Computer Science and computer science related fields. OFFIS is an
application-oriented research and development institute, as a "Center of Excellence"
for selected topics in computer science and its application areas. OFFIS focuses its
research and development activities on IT systems in the application areas of
transportation, health, energy and production. The turnover amounts to over 12
million Euro.
The CrESt project involves the R&D area of transportation, which currently
comprises about 60 scientific employees. OFFIS has a total of about 260 employees.
The Transportation division focuses its research on methods, tools and technologies in
the application field of transportation systems for the development of IT-based
reliable, cooperative and supporting systems and their ability to interact and
collaborate with people intuitively and efficiently. The Transport R&D area comprises
several research groups and combines a broad spectrum of competencies in the fields
of cognitive psychology, systems and software engineering, electrical engineering and
planning theory. Research focuses on methods, processes and tools for establishing the
safety of traffic systems as well as methods for the design and analysis of E/E
architectures.
OFFIS is or was involved in relevant BMBF projects and European projects within
the framework of H2020, Ecsel and ITEA, among others SPES 2020, SPES_XT, ARAMIS
I+II, CRYSTAL, DANSE, MBAT, COMBEST, ArtistDesign, AMALTHEA4public, ASSUME,
SAFE, PANORAMA, CyberFactory#1, VVMethoden, Set Level 4to5, KI-Delta Learning,
and KI-Wissen. OFFIS is a member of ASAM and contributes concepts of Traffic
Sequence Charts (TSC) to the standardization of OpenScenario and OpenDrive.
Through SafeTRANS OFFIS is also a member of EICOSE, the ARTEMIS Innovation
Cluster on Transportation. OFFIS is member (Chamber B) of ARTEMISIA.
Within CrESt, OFFIS participates in the topics "Architectures for Adaptive Systems"
and "Open Context". One focus is the deepening of understanding open and dynamic
context, and architecture design for adaptive systems. OFFIS contributes to the project
with the following competences: (1) model-based design methods for safety-critical
embedded systems with supporting analysis techniques especially for the aspects real-
time and safety (safety analyses), (2) modelling and analysis of adaptive systems and
SoS, (3) validation of human-machine cooperation, and (4) risk analyses as well as
384 Partner
PikeTec GmbH
PikeTec GmbH specializes in the testing and verification of embedded software. With
its methods and tools, it significantly simplifies the creation of test cases for embedded
systems. Since 2007, PikeTec has therefore been developing and marketing the TPT
(Time Partition Testing) test tool. With TPT, tests can be modeled and automatically
generated intuitively and flexibly, from simple module tests in MATLAB and Simulink
or TargetLink to complex system tests for the vehicle. Tests created with TPT can be
reused throughout the development process. TPT is applicable and qualified in the
context of the functional safety standards ISO 26262, IEC 61508, EN50128 and DO-
178C. The company also accompanies future-oriented software development projects
for technical control systems in the form of consulting and engineering services.
PikeTec's customers include renowned manufacturers such as VW, Daimler, Bosch and
Renault.
www.piketec.com
pure-systems GmbH
pure-systems is the leading provider of highly innovative software technologies
and solutions for Variant Management and Product Line Engineering (PLE). The
company helps their customers increase engineering efficiency through systematic
reuse of software engineering assets and reduce product time to market by managing
complexity of features & dependencies across systems and variants.
pure::variants, as a Standard Enterprise Solution for PLE, provides deep analytic
insights into variants, and can deal with both structural and parametric variability,
integrating and supporting diverse authoring tools and engineering assets, like
requirements, test cases, architecture & model-based development, source code,
documentation, Excel feature lists, among others. As a platform solution, pure::variants
provides enterprise scalability and public open APIs, while supporting standards like
OSLC, VEL (Variability Exchange Language), Eclipse, EMF, AUTOSAR, and etc.
Today, the variant management solutions from pure-systems are deployed and
used successfully with Enterprise Customers in the segments of Automotive, Avionics
& Aerospace, Defense & Security, Industry Automation & Production, Rail &
Transportation and Semiconductor. The training and consulting services by pure-
systems are offered world-wide with the objective of lasting improvement to system
Partner 385
graduates leave the university. 539 professors as well as 5,894 academic and 2,750
non-academic colleagues work at RWTH University.
The research focus of the Chair of Software Engineering at RWTH Aachen
University is the definition and improvement of methods for efficient software
development. Current fields of research include model-based or generative software
development and cyberphysical systems (CPS). The MontiCore language framework
developed at the chair allows the agile and compositional development of modeling
languages, as well as their use for analysis, synthesis, and generative software
development. Based on MontiCore, further languages and tools for the model-driven
development of software from the different domains were developed. MontiArc, a
modeling language for hierarchical architectures such as CPS, is particularly
noteworthy in this context. It also allows the behavior of individual components to be
specified via embedded languages (e.g. statecharts). In the field of automotive software
engineering, the chair has a long history of research projects and industrial
cooperations with large OEMs. The content of these projects covers the whole range of
topics from requirements elicitation as well as function, version and variant modeling
to software and hardware architecture as well as its use to support analysis and
synthesis activities. A prominent use case is the autonomously driving vehicle Caroline,
with which Prof. Rumpe successfully participated in the DARPA Urban Challenge.
The Junior Professorship for Mechatronic Systems for Combustion Engines
focusses on the interaction of electronical and mechanical powertrain components
with innovative control algorithms. Prof. Dr.-Ing. Jakob Andert heads this
interdisciplinary and dynamic field of research, which puts a strong emphasis on
software-intensive embedded systems that enable cleaner and more efficient vehicle
drive systems. Access to the infrastructure of the Center for Mobile Drives enables the
efficient use of synergies and direct interaction with researchers working on various
topics related to mobile powertrain technology. Research focuses on electrification and
hybridization, electric motors and converters for traction drives, in-cycle combustion
control and possibilities of connected and autonomous mobility for the powertrain.
Hardware-in-the-loop and real-time co-simulations play a key role in the development
of testing and validation methods for the future vehicles, including powertrains as well
as ADAS/AD systems of interacting and cooperating vehicles.
www.rwth-aachen.de
Siemens AG
Siemens AG is a global powerhouse focusing on the areas of electrification, automation
and digitalization. One of the world’s largest producers of energy-efficient, resource-
saving technologies, Siemens is a leading supplier of systems for power generation and
transmission as well as medical diagnosis. In infrastructure and industry solutions the
company plays a pioneering role. In more than 200 countries/regions the company has
Partner 387
roughly (fiscal year 2019) 385,000 employees of which 39,600 are in digital jobs. For
more than 170 years, Siemens stands for technological excellence, innovation, quality,
reliability and internationality.
With 2,550 employees worldwide – of which 1,700 are doing research and 300
being engaged in Cybersecurity alone – Corporate Technology (CT) meanwhile since
1905 plays a key role in R&D at Siemens. In research centers located in many different
countries, CT works closely with the R&D teams in the Siemens´ Divisions. The CT
organization provides expertise regarding strategically important areas to ensure the
company’s technological future, and to acquire patent rights that safeguard the
company’s business operations. Against the background of megatrends such as climate
change, urbanization, globalization, digitalization and demographic change, CT focuses
on innovations that have the potential to change the rules of the game over the long
term in business areas that are of interest to Siemens.
CT covers a wide range of technology fields including software and systems
innovation, simulation and digital twin, and internet of things, which actively
contributed to CrESt.
www.siemens.com
initiatives. The DCAITI staff participates in the academic life at the Technische
Universität Berlin through teaching assignments and student support. The center
encourages students to participate in its projects and gain first-hand experience in
automotive electronics in the center's own garage.
www.tu-berlin.de
A
[Aigner and Grigoleit 2018] C. Aigner, F. Grigoleit: Maintaining configuration knowledge bases: Classification
and detection of faults. In: 4th International Workshop on Emerging Ideas and Trends in the Engineering
of Cyber-Physical Systems (EITEC), Porto, Portugal, 2018, pp. 33-40.
[Akili 2019] S. Akili: On the Need for Distributed Complex Event Processing with Multiple Sinks. In: 13th ACM
International Conference on Distributed and Event-Based Systems (DEBS), Darmstadt, Germany, 2019.
[Akili and Lorenz 2019] S. Akili, F. Lorenz: Towards runtime verification of collaborative embedded systems.
In: SICS Software-Intensive Cyber-Physical Systems, 2019, pp. 225-236.
[Akili and Völlinger 2019] S. Akili, K. Völlinger: Case study on certifying distributed algorithms: reducing
intrusiveness. In: International Conference on Fundamentals of Software Engineering, Springer, Cham,
2019.
[Al-Hajjaji et al. 2018] M. Al-Hajjaji, M. Schulze, U. Ryssel: Similarity Analysis of Product-Line Variants. In:
Proceedings of the 22nd International Systems and Software Product Line Conference - Volume 1
(SPLC), ACM, New York, NY, USA, 2018, pp. 226-235.
[Al-Hajjaji et al. 2019] M. Al-Hajjaji, M. Schulze, U. Ryssel: Validating Partial Configurations of Product Lines.
In: Proceedings of 13th International Workshop on Variability Modelling of Software-Intensive Systems
(VaMoS), ACM, New York, NY, USA, 2019, pp. 1-6.
[Amorim et al. 2019] T. Amorim, A. Vogelsang, F. Pudlitz, P. Gersing, J. Philipps: Strategies and Best Practices
for Model-based Systems Engineering Adoption in Embedded Systems Industry. In: 41st International
Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP), Montreal, QC,
Canada, 2019, pp. 203-212.
[Arai and Schlingloff 2017] R. Arai, H. Schlingloff: Model-based Performance Prediction by Statistical Model
Checking: An Industrial Case Study of Autonomous Transport Robots. In: Proceedings of the 25th
International Workshop on Concurrency, Specification and Programming, Warsaw, Poland, 2017.
B
[Bandyszak and Brings 2018] T. Bandyszak, J. Brings: Herausforderungen bei der modellbasierten
Entwicklung kollaborierender cyber-physischer Systeme für das RE. In: Requirements Engineering
Conference (REConf) 2018, HOOD Group, München, 2018.
[Bandyszak et al. 2018] T. Bandyszak, P. Kuhs, J. Kleinblotekamp, M. Daun: On the Use of Orthogonal Context
Uncertainty Models in the Engineering of Collaborative Embedded Systems. In: Workshop zur
Modellierung in der Entwicklung von kollaborativen eingebetteten Systemen (MEKES), 2018.
[Bandyszak et al. 2020] T. Bandyszak, M. Daun, B. Tenbergen, P. Kuhs, S. Wolf, T. Weyer: Orthogonal
Uncertainty Modeling in the Engineering of Cyber-Physical Systems. In: IEEE Transactions on
Automation Science and Engineering, Vol. 17, No. 3, 2020, pp. 1250-1265.
[Bandyszak et al. 2020b] T. Bandyszak, T. Weyer, M. Daun: Uncertainty Theories for Real-Time Systems. In:
Yuchu Tian, David Charles Levy (eds.): Handbook of Real-Time Computing, Springer, in press, 2022.
[Becker 2020] J.S. Becker: Partial Consistency for Requirement Engineering with Traffic Sequence Charts. In:
Software Engineering (Workshops), 2020.
List of Publications 393
[Bhat et al. 2018] M. Bhat, K. Shumaiev, K. Koch, U. Hohenstein, A. Biesdorf, F. Matthes: An expert
recommendation system for design decision making - Who should be involved in making a design
decision? In: IEEE International Conference on Software Architecture (ICSA), Seattle, WA, USA, 2018.
[Böhm et al. 2018] B. Böhm, M. Zeller, J. Vollmar, S. Weiß, K. Höfig, V. Malik, S. Unverdorben, C. Hildebrandt:
Challenges in the engineering of adaptable and flexible industrial factories. In: Workshop zur
Modellierung in der Entwicklung von kollaborativen eingebetteten Systemen (MEKES), 2018.
[Böhm et al. 2020] B. Böhm, J. Vollmar, S. Unverdorben, A. Calà, S. Wolf: Holistic Model-Based Design of
System Architectures for Industrial Plants. In: VDI-Kongress AUTOMATION – Leitkongress der Mess-
und Automatisierungstechnik, Baden-Baden, Germany, 2020.
[Böhm et al. 2020b] W. Böhm, D. Mendez Fernandez, et al.: Dealing with Non-Functional Requirements in
Model-Driven Development: A Survey. IEEE Transactions on Software Engineering, submitted, 2020.
[Brings 2017] J. Brings: Verifying Cyber-Physical System Behavior in the Context of Cyber-Physical System-
Networks. In: 25th IEEE International Requirements Engineering Conference (RE), Lisbon, Portugal,
2017, pp. 556-561.
[Brings and Daun 2019] J. Brings, M. Daun: Towards goal modeling and analysis for networks of collaborative
cyber-physical systems. In: ER-Forum at 38th International Conference on Conceptual Modeling (ER),
2019, pp. 70-83.
[Brings and Daun 2020] J. Brings, M. Daun: Towards automated safety analysis for architectures of
dynamically forming networks of cyber-physical systems. In: 2020 IEEE/ACM 42nd International
Conference on Software Engineering Workshops (ICSEW), 2020.
[Brings et al. 2018] J. Brings, M. Daun, C. Hildebrandt, S. Törsleff: An Ontological Context Modeling
Framework for Coping with the Dynamic Contexts of Cyber-physical Systems. In: 6th International
Conference on Model-Driven Engineering and Software Development, 2018, pp. 396-403.
[Brings et al. 2018b] J. Brings, M. Daun, M. Kempe, T. Weyer: On Different Search Methods for Systematic
Literature Reviews and Maps: Experiences from a Literature Search on Validation and Verification of
Emergent Behavior. In: 22nd International Conference on Evaluation and Assessment in Software
Engineering (EASE), 2018, pp. 35-45.
[Brings et al. 2018c] J. Brings, M. Daun, S. Brinckmann, K. Keller, T. Weyer: Approaches, success factors, and
barriers for technology transfer in software engineering – Results of a systematic literature review. In:
Software Evolution and Process, vol. 30(11), 2018.
[Brings et al. 2019] J. Brings, M. Daun, M. Kempe, T. Weyer: Validierung und Verifikation von emergentem
Verhalten im Software Engineering – Ergebnisse eines Vergleichs unterschiedlicher Suchmethoden. In:
Fachtagung Software Engineering, GI, 2019, pp. 135-136.
[Brings et al. 2019b] J. Brings, M. Daun, T. Bandyszak, V. Stricker, T. Weyer, E. Mirzaei, M. Neumann, J.S.
Zernickel: Model-based documentation of dynamicity constraints for collaborative cyber-physcial
system architectures: Findings from an industrial case study. Systems Architecture, Vol. 97, 2019, pp.
153-167.
[Brings et al. 2020] J. Brings, M. Daun, K. Keller, P. Aluko Obe, T. Weyer: A systematic map on verification and
validation of emergent behavior in software engineering research. In: Future Generation Computer
Systems, Vol. 112, 2020, pp. 1010-1037.
[Brings et al. 2020b] J. Brings, M. Daun, T. Weyer, K. Pohl: Goal-based configuration analysis for networks of
collaborative cyber-physical systems. In: 35th ACM/SIGAPP Symposium on Applied Computing, 2020,
pp. 1387-1396.
[Brings et al. 2020c] J. Brings, M. Daun, T. Weyer, P. Pohl: Analyzing Goal Variability in Cyber-Physical System
Networks. In: ACM/SIGAPP Applied Computing Reviews, Vol. 21, 2020.
394 List of Publications
[Bures et al. 2017] T. Bures, D. Weyns, B. Schmerl, J. Fitzgerald, F. Alrimawi, B. Craggs, T. Gabor, I.
Gerostathopoulos, D. Liu, F. Murr, B. Nuseibeh, J. Ollesch, J. Ore, L. Pasquale, M. Zasadzinski: Engineering
for Smart Cyber-Physical Systems: Report from SEsCPS 2017. In: ACM SIGSOFT Software Engineering
Notes, 2017, pp. 19-24.
[Bures et al. 2019] T. Bures, D. Weyns, B.R. Schmerl, J.S. Fitzgerald, A. Aniculaesei, C. Berger, J. Cambeiro, J.
Carlson, S.A. Chowdhury, M. Daun, N. Li, M. Markthaler, C. Menghi, B. Penzenstadler, A.D. Pettit, R.G. Pettit
IV, L. Sabatucci, C. Tranoris, H. Vangheluwe, S. Voss, E. Zavala: Software Engineering for Smart Cyber-
Physical Systems (SEsCPS 2018) - Workshop Report. ACM SIGSOFT Software Engineering Notes 44(4),
2019, pp. 11-13.
[Bures et al. 2020] T. Bures, I. Gerostathopoulos, P. Hnetynka, F. Plasil, F. Krijt, J. Vinarek, J. Kofron: A
Language and Framework for Dynamic Component Ensembles in Smart Systems. In: International
Journal on Software Tools for Technology Transfer, Springer, 2020, p. 497-509.
[Butting et al. 2017] A. Butting, R. Heim, O. Kautz, J. Ringert, B. Rumpe, A. Wortmann: A Classification of
Dynamic Reconfiguration in Component and Connector Architecture Description Languages. In:
Proceedings of MODELS 2017 Satellite Event. Workshop ModComp, Austin, Texas, CEUR Workshop
Proceedings, 2017.
[Butting et al. 2018] A. Butting, R. Eikermann, O. Kautz, B. Rumpe, A. Wortmann: Controlled and Extensible
Variability of Concrete and Abstract Syntax with Independent Language Features. In: Proceedings of the
12th International Workshop on Variability Modelling of Software-Intensive Systems (VAMOS), Madrid,
Spain, 2018, pp. 75-82.
[Butting et al. 2018b] A. Butting, R. Eikermann, O. Kautz, B. Rumpe, A. Wortmann: Modeling Language
Variability with Reusable Language Components. In: Proceedings of the 22nd International Conference
on Systems and Software Product Line - Volume 1 (SPLC), Gothenburg, Sweden, 2018, pp. 65-75.
[Butting et al. 2018c] A. Butting, S. Hillemacher, B. Rumpe, D. Schmalzing, A. Wortmann: Shepherding Model
Evolution in Model-Driven Development. In: Workshop zur Modellierung in der Entwicklung von
kollaborativen eingebetteten Systemen (MEKES), 2018.
[Butting et al. 2018d] A. Butting, S. Konar, B. Rumpe, A. Wortmann: Teaching Model-based Systems
Engineering for Industry 4.0: Student Challenges and Expectations. In: Proceedings of the 21st
ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion
Proceedings (EduSymp@MODELS'18), Copenhagen, Denmark, 2018, pp. 74-81.
[Butting et al. 2019] A. Butting, R. Eikermann, O. Kautz, B. Rumpe, A. Wortmann: Systematic Composition of
Independent Language Features. In: Journal of Systems and Software, 152, 2019, pp. 50-69.
C
[Caesar et al. 2018] B. Caesar, W. Klein, C. Hildebrandt, S. Törsleff, A. Fay, J.C. Wehrstedt: New Opportunities
using Variability Management in the Manufacturing Domain during Runtime. In: Schäfer, Karagiannis
(Hrsg.): Fachtagung Modellierung 2018, Braunschweig, Germany, 2018.
[Caesar et al. 2019] B. Caesar, F. Grigoleit, S. Unverdorben: (Self-)adaptiveness for manufacturing systems:
challenges and approaches. In: SICS Software-Intensive Cyber-Physical Systems, Volume 34, Issue 4,
Springer, 2019, pp. 191-200.
[Caesar et al. 2019b] B. Caesar, M. Nieke, A. Köcher, C. Hildebrandt, C. Seidl, A. Fay, I. Schaefer: Context-
sensitive reconfiguration of collaborative manufacturing systems. In: 9th IFAC Conference on
Manufacturing Modelling, Management and Control (MIM) 2019, Berlin, Germany, 2019.
[Cârlan 2017] C. Cârlan: Living Safety Arguments for Open Systems. In: 28th International Symposium on
Software Reliability Engineering Workshops (ISSREW), Toulouse, France, 2017, pp. 120-123.
List of Publications 395
[Cârlan et al. 2019] C. Cârlan, V. Nigam, A. Tsalidis, S. Voss: ExplicitCase: Tool-support for Creating and
Maintaining Assurance Arguments Integrated with System Models. In: Proceedings of 9th IEEE
International Workshop on Software Certification (WoSoCer), 2019.
[Cioroaica 2019] E. Cioroaica: (Do Not) Trust in Ecosystems. In: 41st International Conference on Software
Engineering: New Ideas and Emerging Results (ICSE-NIER), Montreal, QC, Canada, 2019, pp. 9-12.
[Cioroaica et al. 2018] E. Cioroaica, T. Kuhn, T. Bauer: Prototyping Automotive Smart Ecosystems. In: 48th
Annual IEEE/IFIP International Conference on Dependable Systems and Networks Workshops (DSN-
W), Luxembourg City, 2018, pp. 255-262.
[Cioroaica et. al 2019] E. Cioroaica, S, Chren, B. Buhnova, T. Kuhn, D. Dimitrov: Towards creation of a
reference architecture for trust-based digital ecosystems. In: Proceedings of the 13th European
Conference on Software Architecture-Volume 2, 2019, pp. 273-276.
[Cioroaica et al. 2019b] E. Cioroaica, F. Pudlitz, I. Gerostathopoulos, T. Kuhn: Simulation Methods and Tools
for Collaborative Embedded Systems. In: SICS Software-Intensive Cyber-Physical Systems, Vol. 34,
Springer, 2019, pp. 213-223.
[Cioroaica et al. 2020] E. Cioroaica, B. Buhnova, T. Kuhn, D. Schneider: Building Trust in the Untrustable. In:
42nd International Conference on Software Engineering: Software Engineering in Society (ICSE-SEIS),
2020 [In Press.]
[Cioroaica et al. 2020b] E. Cioroaica, S. Chren, B. Buhnova, T. Kuhn, D. Dimitrov: Reference Architecture for
Trust-Based Digital Ecosystems. In: International Conference on Software Architecture Companion
(ICSA-C), 2020, pp. 266-273.
D
[Dalibor et al. 2019] M. Dalibor, N. Jansen, J. Michael, B. Rumpe, A. Wortmann: Towards Sustainable Systems
Engineering-Integrating Tools via Component and Connector Architectures. In: Antriebstechnisches
Kolloquium 2019: Tagungsband zur Konferenz, 2019, pp. 121-133.
[Damm et al. 2018] W. Damm, S. Kemper, E. Möhlmann, T. Peikenkamp, A. Rakow: Traffic sequence charts -
a visual language for capturing traffic scenarios. In: Embedded Real Time Software and Systems (ERTS),
2018.
[Daun 2018] M. Daun: Using Dedicated Review Models to Support the Validation of Highly Collaborative
Systems. Eingeladener Vortrag, Lorentz-Center Workshop zu Dynamics of Multi Agent Systems, Leiden
Netherlands, 2018.
[Daun 2019] M. Daun, J. Brings, P. Aluko Obe, S. Weiß, B. Böhm, S. Unverdorben: Using View-Based
Architecture Descriptions to Aid in Automated Runtime Planning for a Smart Factory. In: IEEE
International Conference on Software Architecture Companion (ICSA-C), Hamburg, Germany, 2019, pp.
202-209.
[Daun and Tenbergen 2020] M. Daun, B. Tenbergen: Teaching Requirements Engineering with Industry Case
Examples. In: Tagungsband des 17. Workshops "Software Engineering im Unterricht der Hochschulen",
2020, pp. 49-50.
[Daun et al. 2017] M. Daun, J. Brings, T. Weyer: On the Impact of the Model-Based Representation of
Inconsistencies to Manual Reviews - Results from a Controlled Experiment. In: Proceedings of 36th
International Conference on Conceptual Modeling (ER), Valencia, Spain, 2017, pp. 466-473.
[Daun et al. 2018] M. Daun, J. Brings, T. Weyer: A Semi-Automated Approach to Foster the Validation of
Collaborative Networks of Cyber-Physical Systems. In: 4th International Workshop on Software
Engineering for Smart Cyber-Physical Systems (SEsCPS), Gothenburg, Sweden, 2018, pp. 6-12.
396 List of Publications
[Daun et al. 2019] M. Daun, B. Tenbergen, J. Brings, P. Aluko Obe: Sichtenbasierte Kontextmodellierung für
die Entwicklung kollaborativer cyber-physischer Systeme. In: Fachtagung Software Engineering, GI,
2019, pp. 123-124.
[Daun et al. 2019b] M. Daun, J. Brings, K. Keller, S. Brinckmann, T. Weyer: Erfolgreicher Technologietransfer
im Software Engineering – Transferansätze, Erfolgsfaktoren und Fallstricke. In: Fachtagung Software
Engineering, GI, 2019, pp. 135-136.
[Daun et al. 2019c] M. Daun, J. Brings, L. Krajinski, T. Weyer: On the benefits of using dedicated models in
validation processes for behavioral specifications. In: International Conference on Software and System
Processes (ICSSP), 2019, pp. 44-53.
[Daun et al. 2019d] M. Daun, T. Weyer, K. Pohl: Improving manual reviews in function-centered engineering
of embedded systems using a dedicated review model. In: Software and Systems Modeling, vol. 18(6)
Springer, 2019, pp. 3421-3459.
[Daun et al. 2019e] M. Daun, V. Stenkova, L. Krajinski, J. Brings, T. Bandyszak, T. Weyer: Goal Modeling for
Collaborative Groups of Cyber-Physical Systems with GRL. In: Proceedings of the 34th ACM/SIGAPP
Symposium on Applied Computing, Limassol, Cyprus, 2019, pp. 1600-1609.
[Daun et al. 2020] M. Daun, J. Brings, P. Aluko Obe, K. Pohl, S. Moser, H. Schumacher, M. Rieß.: An Online
Course for Teaching Model-based Engineering. In: Tagungsband des 17. Workshops "Software
Engineering im Unterricht der Hochschulen", 2020, pp. 66-67.
[Daun et al. 2020b] M. Daun, J. Brings, T. Weyer: Do Instance-level Review Diagrams Support Validation
Processes of Cyber-Physical System Specifications Results from a Controlled Experiment. In:
International Conference on Software and Systems Process (ICSSP), Seoul, Republic of Korea. ACM, New
York, NY, USA, 2020.
[Daun et al. 2020c] M. Daun, T. Weyer, K. Pohl: Ein Review-Modell zur Unterstützung in der
funktionszentrierten Entwicklung eingebetteter Systeme. In: Proceedings of the Tagung Software
Engineering, GI, 2020, p. 39-40.
G
[Gerostathopoulos et al. 2018] I. Gerostathopoulos, C. Prehofer, T. Bures: Adapting a System with Noisy
Outputs with Statistical Guarantees. In: 13th International Symposium on Software Engineering for
Adaptive and Self-Managing Systems (SEAMS), 2018, pp. 58-68.
[Gerostathopoulos et al. 2018b] I. Gerostathopoulos, C. Prehofer, L. Bulej, T. Bures, V. Horky, P. Tuma: Cost-
Aware Stage-Based Experimentation: Challenges and Emerging Results. In: EEE International
Conference on Software Architecture Companion (ICSA-C), Seattle, WA, USA, 2018, pp. 72-75.
[Gerostathopoulos et al. 2018d] I. Gerostathopoulos, C. Prehofer, A. Uysal, T. Bures: A Tool for Online
Experiment-Driven Adaptation. In: 3rd International Workshops on Foundations and Applications of
Self* Systems (FAS*W), Trento, Italy, 2018, pp. 100-105.
H
[Habtom et al. 2019] K. Habtom, A. Collins, D. Marmsoler: Modeling and Verifying Dynamic Architectures
with FACTum Studio. In: International Conference on Formal Aspects of Component Software, 2019, pp.
243-251.
[Hayward et al. 2020] A. Hayward, M. Daun, W. Böhm, A. Petrvoska, L. Krajinski, A. Fay: Modellierung von
Funktionen in der modellbasierten Entwicklung von Systemverbünden kollaborierender cyber-
physischer Systeme. In: Entwurf komplexer Automatisierungssysteme (EKA), 2020.
[Hildebrandt et al. 2018] C. Hildebrandt, S. Törsleff, B. Caesar, A. Fay: Ontology Building for cyber-physical-
systems: From Requirements to heavyweight Ontologies. In: 14th IEEE International Conference on
Automation Science and Engineering (CASE), Munich, Germany, 2018.
[Hildebrandt et al. 2018b] C. Hildebrandt, S. Törsleff, T. Bandyszak, B. Caesar, A. Ludewig, A. Fay: Ontology
Engineering for Collaborative Embedded Systems – Requirements and Initial Approach. In: Workshop
zur Modellierung in der Entwicklung von kollaborativen eingebetteten Systemen (MEKES), 2018.
[Hildebrandt et al. 2018c] C. Hildebrandt, W. Klein, J.C. Wehrstedt, A. Fay: Ontology-based Simulation of
Manufacturing Systems in Open and Dynamic Contexts. In: VDI-Kongress AUTOMATION – Leitkongress
der Mess- und Automatisierungstechnik, Baden-Baden, Germany, 2018.
[Hipp et al. 2020] U. Hipp, T. Zeh, W. Klein, A. Joanni, S. Rothbauer, M. Zeller: Simulation-based robust
scheduling for smart factories considering improved test strategies. RAMS 2020, 2020.
[Hnetynka et al. 2018] P. Hnetynka, P. Kubat, R. Al-Ali, I. Gerostathopoulos, D. Khalyeyev: Guaranteed Latency
Applications in Edge-Cloud Environment. In: 2nd Context-aware, Autonomous and Smart Architectures
International Workshop (CASA), 2018.
[Hoang et al. 2019] X.-L. Hoang, B. Caesar, A. Fay: Adaptation of Manufacturing Machines by the Use of
Multiple-Domain-Matrices and Variability Models. In: 9th IFAC Conference on Manufacturing Modelling,
Management and Control (MIM) 2019, Berlin, Germany, 2019.
[Höfig et al. 2019] K. Höfig, C. Klein, S. Rothbauer, M. Zeller, M. Vorderer, C. H. Koo: A Meta-model for Process
Failure Mode and Effects Analysis (PFMEA). In: 24th IEEE International Conference on Emerging
Technologies and Factory Automation (ETFA), 2019, pp. 1199-1202.
J
[Jöckel and Kläs 2019] L. Jöckel, M. Kläs: Increasing Trust in Data-Driven Model Validation – A Framework
for Probabilistic Augmentation of Images and Meta-Data Generation using Application Scope
398 List of Publications
Characteristics. In: 38th International Conference on Computer Safety, Reliability and Security,
SafeComp 2019, Turku, Finland, 2019, pp. 155-164.
[Jöckel et al. 2019] L. Jöckel, M. Kläs, S. Martínez-Fernández: Safe Traffic Sign Recognition through Data
Augmentation for Autonomous Vehicles Software. In: 19th IEEE International Conference on Software
Quality, Reliability and Security Companion (QRS-C), Sofia, Bulgaria, 2019, pp. 540-541.
K
[Kaiser et al. 2018] B. Kaiser, D. Schneider, R. Adler, D. Domis, F. Möhrle, A. Berres, M. Zeller, K. Höfig, M.
Rothfelder: Advances in Component Fault Trees, Safety and Reliability – Safe Societies in a Changing
World. In: Proceedings of 28th European Safety and Reliability Conference (ESREL), Trondheim,
Norway, Taylor & Francis (CRC Press), 2018, pp. 815-823.
[Keller et al. 2018] K. Keller, A. Neubauer, J. Brings, M. Daun: Tool-Support to Foster Model-based
Requirements Engineering for Cyber-Phsyical Systems. In: Workshop zur Modellierung in der
Entwicklung von kollaborativen eingebetteten Systemen (MEKES), 2018, pp. 47-56.
[Keller et al. 2018b] K. Keller, J. Brings, M. Daun, T. Weyer: A Comparative Analysis of ITU-MSC-Based
Requirements Specification Approaches Used in the Automotive Industry. In: Proceedings of 10th
International Conference on System Analysis and Modeling (SAM), Copenhagen, Denmark, 2018, pp.
183-201.
[Kläs 2018] M. Kläs: Towards Identifying and Managing Sources of Uncertainty in AI and Machine Learning
Models-An Overview. arXiv preprint arXiv:1811.11669, 2018.
[Kläs and Sembach 2019] M. Kläs, L. Sembach: Uncertainty Wrappers for Data-driven Models – Increase the
Transparency of AI/ML-based Models through Enrichment with Dependable Situation-aware
Uncertainty Estimates, 2nd Int. Workshop on Artificial Intelligence Safety Engineering (WAISE 2019),
Turku, Finland, 2019.
[Kläs and Vollmer 2018] M. Kläs, A.M. Vollmer: Uncertainty in Machine Learning Applications – A Practice-
Driven Classification of Uncertainty. In: First International Workshop on Artificial Intelligence Safety
Engineering (WAISE 2018), Västerås, Sweden, 2018.
[Koo et al. 2018] C. H. Koo, M. Vorderer, S. Junker, S. Schröck, A. Verl: Challenges and requirements for the
safety compliant operation of reconfigurable manufacturing systems. In: Proceedings CIRP Conference
on Manufacturing System, Vol. 72, 2018, pp. 1100-1105.
[Koo et al. 2019] C. H. Koo, M. Vorderer, S. Schröck, J. Richter, A. Verl: Assistierte Risikobeurteilung für
wandlungsfähige Plug and Produce Montagesysteme. In: VDI-Kongress AUTOMATION – Leitkongress
der Mess- und Automatisierungstechnik, Baden-Baden, Germany, 2019.
[Koo et al. 2019b] C. H. Koo, S. Rothbauer, M. Vorderer, K. Höfig, M. Zeller: SQUADfps: Integrated model-based
machine safety and product quality for flexible production systems. In: 6th International Symposium on
Model-Based Safety and Assessment (IMBSA), Thessaloniki, Greece, 2019, pp. 222-236.
[Koo et al. 2020] C. H. Koo, N. Laxman, F. Möhrle: Runtime safety analysis for reconfigurable production
systems. In: 30th European Safety and Reliability Conference (ESREL), Venice, Italy, 2020.
[Koo et al. 2020b] C. H. Koo, S. Schröck, M. Vorderer, J. Richter, A. Verl: Assistierte Risikobeurteilung für
wandlungsfähige Montagesysteme. In: ATP-Edition, Fachmagazin für Automatisierungstechnische
Praxis 05/2020, 2020, pp. 68-75.
[Koo et al. 2020c] C. H. Koo, S. Schröck, M. Vorderer, J. Richter, A. Verl: A model-based and software-assisted
safety assessment concept for reconfigurable PnP-systems. In: 53rd CIRP Conference on Manufacturing
System, Chicago, USA, 2020.
List of Publications 399
[Kurpiewski and Marmsoler 2019] D. Kurpiewski, D. Marmsoler: Strategic Logics for Collaborative
Embedded Systems: Specification and Verification of Collaborative Embedded Systems using Strategic
Logics. In: SICS Software-Intensive Cyber-Physical Systems, Vol. 34, Springer, 2019, pp. 201-212.
L
[Lackner and Schlingloff 2017] H. Lackner, H. Schlingloff: Advances in Testing Software Product Lines. In:
Advances in Computers, Vol. 107, Elsevier, 2017, pp. 157-217.
[Laxman et al. 2020] N. Laxman, C. H. Koo, P. Liggesmeyer: U-Map: A reference map for safe handling of
runtime uncertainties. In: 7th International Symposium on Model-Based Safety and Assessment
(IMBSA), Lisbon, Portugal, accepted, 2020.
[Lorenz and Schlingloff 2018] F. Lorenz, H. Schlingloff: Online-Monitoring Autonomous Transport Robots
with an R-valued Temporal Logic. In: 14th IEEE International Conference on Automation Science and
Engineering (CASE), Special Session on Engineering Methods and Tools for the Development of
Collaboration-intensive Cyber Physical Systems, Munich, Germany, 2018, pp. 1093-1098.
[Ludewig et al. 2018] A. Ludewig, M. Daun, A. Petrovska, W. Böhm, A. Fay: Requirements for Modeling
Dynamic Function Networks for Collaborative Embedded Systems. In: Workshop zur Modellierung in
der Entwicklung von kollaborativen eingebetteten Systemen (MEKES), 2018.
M
[Marmsoler 2017] D. Marmsoler: Dynamic Architectures. Archive of Formal Proofs, 2017.
[Marmsoler 2018] D. Marmsoler: A Framework for Interactive Verification of Architectural Design Patterns
in Isabelle/HOL. In: Proceedings of 20th International Conference on Formal Engineering Methods
(ICFEM), Gold Coast, QLD, Australia, 2018, pp. 12-16.
[Marmsoler 2019] D. Marmsoler: “A Denotational Semantics for Dynamic Architectures”. In: Theoretical
Aspects of Software Engineering. 2019.
[Marmsoler 2019b] D. Marmsoler: A Calculus for Dynamic Architectures. In: Science of Computer
Programming, 2019.
[Marmsoler 2019c] D. Marmsoler: Axiomatic Specification and Verification of Architectural Design Patterns
using Interactive Theorem Proving. Dissertation. 2019.
[Marmsoler 2019d] D. Marmsoler: Composition in Dynamic Architectures based on Fixed Points in Lattices.
In: International Colloquium on Theoretical Aspects of Computing, 2019.
[Marmsoler 2019e] D. Marmsoler: Verifying Dynamic Architectures using Model Checking and Interactive
Theorem Proving. In: Proceedings Software Engineering und Software Management, Lecture Notes in
Informatics (LNI), Gesellschaft für Informatik, Bonn, Germany, 2019.
[Marmsoler and Blakqori 2019] D. Marmsoler, G. Blakqori: APML: An Architecture Proof Modeling Language.
In: 23rd International Symposium on Formal Methods, 2019.
400 List of Publications
[Marmsoler and Degenhardt 2017] D. Marmsoler, S. Degenhardt: Patterns of Dynamic Architectures using
Model Checking. In: Proceedings International Workshop on Formal Engineering approaches to
Software Components and Architectures, 2017.
[Marmsoler and Gidey 2018] D. Marmsoler, H. K. Gidey: FACTUM Studio: A Tool for the Axiomatic
Specification and Verification of Architectural Design Patterns. In: 15th International Conference on
Formal Aspects of Component Software (FACS), Pohang, South Korea, 2018, pp. 279-287.
[Marmsoler and Gidey 2019] D. Marmsoler, H.K. Gidey: Interactive Verification of Architectural Design
Patterns in FACTum. In: Formal Aspects of Computing. 2019.
[Marmsoler and Habtom 2019] D. Marmsoler, H.K. Gidey: Interactive Verification of Architectural Design
Patterns in FACTum. In: Formal Aspects of Computing, 2019.
[Marmsoler and Petrovska 2019] D. Marmsoler, A. Petrovska: Detecting Architectural Erosion using Runtime
Verification. In: 12th Interaction and Concurrency Experience (ICE), 2019.
[Marmsoler and Petrovska 2020] D. Marmsoler, A. Petrovska: Detecting Architectural Erosion using Runtime
Verification. In: Journal of Logical and Algebraic Methods in Programming (JLAMP), submitted, 2020.
[Marmsoler et al. 2017] D. Marmsoler, D.V. Hung, D. Kapur (Eds.): Towards a Calculus for Dynamic
Architectures. In: 14th International Colloquium on Theoretical Aspects of Computing (ICTAC), Hanoi,
Vietnam, 2017, pp. 79-99.
[Mauro et al. 2017] J. Mauro, M. Nieke, C. Seidl, I. Chieh Yu: Anomaly Detection and Explanation in Context-
Aware Software Product Lines. In: Proceedings of the 21st International Systems and Software Product
Line Conference - Volume B (SPLC), New York, USA, 2018, pp. 18-21.
[Mauro et al. 2018] J. Mauro, M. Nieke, C. Seidl, I. Chieh Yu: Context-Aware Reconfiguration in Evolving
Software Product Lines. In: Science of Computer Programming. Volume 163, 2018.
[Mendez Fernandez et al. 2019] D. Mendez Fernandez, W. Böhm, A. Vogelsang, J. Mund, M. Broy, M.
Kuhrmann, T. Weyer: Artefacts in software engineering: a fundamental positioning. In: Software &
Systems Modeling, 2019.
[Meyer 2019] M. Meyer: 3D Multi-Vehicle Co-Simulation Framework for Testing of Cooperative Automated
Driving Functions. In: FEV Simulation and Calibration Symposium 2019, Stuttgart, 2019.
[Meyer et al. 2020] M. Meyer, C. Granrath, J. Andert, G. Feyerl, J. Richenhagen, J. Kaths: Closed-loop Platoon
Simulation with Cooperative Intelligent Transportation Systems based on Vehicle-to-X Communication.
Simulation Modelling Practice and Theory, Elsevier, accepted, 2020.
[Meyer et al. 2020b] M. Meyer, C. Granrath, L. Wachtmeister, N. Jäckel: Methoden für die Entwicklung
kollaborativer eingebetteter Systeme in automatisierten Fahrzeugen. In: ATZelektronik, vol. 12,
Springer, accepted, 2020.
[Ming and Schlingloff 2017] C. Ming, H. Schlingloff: Monitoring with Parametrized Extended Life Sequence
Charts. In: Fundamenta Informaticae, Vol. 153(3), IOS Press, 2017, pp. 173-198.
[Möhrle et al. 2017] F. Möhrle, M. Zeller, K. Höfig, M. Rothfelder, P. Liggesmeyer: Towards Automated Design
Space Exploration for Safety-Critical Systems Using Type-Annotated Component Fault Trees. In: 5th
International Symposium on Model-Based Safety and Assessment (IMBSA), Trento, Italy, 2017.
N
[Nieke et al. 2018] M. Nieke, C. Seidl, T. Thüm: Back to the Future: Avoiding Paradoxes in Feature-Model
Evolution. In: Proceedings of the 22nd International Systems and Software Product Line Conference -
Volume B (SPLC), ACM, New York, NY, USA, 2018, pp. 48-51.
List of Publications 401
[Nieke et al. 2018b] M. Nieke, J. Mauro, C. Seidl, T. Thüm, I. Chieh Yu: Anomaly Analyses for Feature-Model
Evolution. In: Proceedings of the 17th International Conference on Generative Programming: Concepts
and Experiences (GPCE), 2018, pp. 188-201.
[Nieke et al. 2019] M. Nieke, A. Hoff, C. Seidl: Automated metamodel augmentation for seamless model
evolution tracking and planning. In Proceedings of the 18th ACM SIGPLAN International Conference on
Generative Programming: Concepts and Experiences (GPCE). ACM, New York, NY, USA, 2019, pp. 68–80.
P
[Petrovska 2019] A. Petrovska: Semi-distributed architecture for smart self-adaptive cyber-physical
systems. In: 14th International Symposium on Software Engineering for Adaptive and Self-Managing
Systems, part of 11st International Conference on Software Engineering (ICSE), 2019.
[Petrovska and Grigoleit 2018] A. Petrovska, F. Grigoleit: Towards Context Modeling for Dynamic
Collaborative Embedded Systems in Open Context. In: 10th International Workshop on Modelling and
Reasoning in Context (MRC) at International Joint Conference of Artificial Intelligence, Stockholm,
Schweden, 2018.
[Petrovska and Pretschner 2019] A. Petrovska, A. Pretschner: Learning Approach for Smart Self-Adaptive
Systems. In: 13th IEEE International Conference on Self-Adaptive and Self-Organizing Systems (SASO),
Umea, Sweden, 2019, pp. 234-236.
[Pudlitz et al. 2019] F. Pudlitz, A. Vogelsang, F. A. Brokhausen: A Lightweight Multilevel Markup Language
for Connecting Software Requirements and Simulations. In: Knauss E., Goedicke M. (eds) Requirements
Engineering: Foundation for Software Quality. REFSQ 2019. Lecture Notes in Computer Science, Vol.
11412, Springer, Cham, 2019.
R
[Reich 2018] V. Reich: Development and Evaluation of Decision Strategies for Manufacturing in Industrie 4.0
using Plant Simulation, Masterarbeit, TU München, 2018.
[Rösel 2019] S. Rösel: Guidelines are a Modeler's best friends – ein Einstieg in die statische Modellanalyse.
In: Automation Software Engineering Kongress, Sindelfingen, 2019.
[Rösel 2019b] S. Rösel: ISO 26262 in 10 Schritten sicherheitsrelevante Embedded Software erstellen. In:
Embedded Software Engineering Kongress, Sindelfingen 2019.
[Rosen 2019] R. Rosen: Digital Twin & Symbiotic Mechatronics Approaches for System Development. Models
2019 (invited speaker).
[Rosiak et al. 2019] K. Rosiak, O. Urbaniak, A. Schlie, C. Seidl, I. Schaefer: Analyzing Variability in 25 Years of
Industrial Legacy Software: An Experience Report. In: Proceedings of the 23rd International Systems
and Software Product Line Conference - Volume B (SPLC), ACM, New York, NY, USA, 2019, pp. 65-72.
[Rumpe et al. 2019] B. Rumpe, I. Schaefer, H. Schlingloff, A. Vogelsang: Special issue on engineering
collaborative embedded systems, In: SICS Software-Intensive Cyber-Physical Systems, Vol. 34, Springer,
2019, pp. 173–175.
402 List of Publications
S
[Schenk et al. 2019] T. Schenk, A.Botero Halblaub, J. C. Wehrstedt: Co-Simulation scenarios in industrial
production plants. Industrial User Presentations. In: 13th International Modelica Conference,
Regensburg, 2019.
[Schlie et al. 2017] A. Schlie, D. Wille, L. Cleophas, I. Schaefer: Clustering Variation Points in
MATLAB/Simulink Models Using Reverse Signal Propagation Analysis. Proceedings of the International
Conference on Software Reuse (ICSR), Springer, Salvador, Brazil, 2017.
[Schlie et al. 2018] A. Schlie, S. Schulze, I. Schaefer: Comparing Multiple MATLAB/Simulink Models Using
Static Connectivity Matrix Analysis. In: Proceedings of the International Conference on Software
Maintenance and Evolution (ICSME), Madrid, Spain, 2018, pp. 160-171.
[Schlie et al. 2019] A. Schlie, C. Seidl, I. Schaefer: Reengineering Variants of MATLAB/Simulink Software
Systems. In: Security and Quality in Cyber-Physical Systems Engineering. Springer International
Publishing, 2019, pp. 267-301.
[Schlie et al. 2019b] A. Schlie, K. Rosiak, O. Urbaniak, I. Schaefer, B. Vogel-Heuser: Analyzing Variability in
Automation Software with the Variability Analysis Toolkit. In: Proceedings of the 23rd International
Systems and Software Product Line Conference - Volume B (SPLC), ACM, New York, NY, USA, 2019, pp.
191-198.
[Schlingloff 2018] H. Schlingloff: Specification and Verification of Collaborative Transport Robots. In: 4th
International Workshop on Emerging Ideas and Trends in the Engineering of Cyber-Physical Systems
(EITEC), Porto, Portugal, 2018, pp. 3-8.
[Schlingloff 2019] H. Schlingloff: PhD, the University, and Everything. In: 30th International Symposium on
Software Reliability Engineering (ISSRE), Berlin, Germany, 2019.
[Schlingloff 2019b] H. Schlingloff: Strategy Synthesis. Invited paper at CS&P 2019: 28th International
Workshop on Concurrency, Specification, and Programming, Olstyn, Poland, 2019.
[Schlingloff 2019c] H. Schlingloff: Teaching Model Checking via Games and Puzzles. In: Proceedings of 1st
International Workshop "Formal Methods - Fun for Everybody" (FMFun), Co-located with iFM 2019,
Bergen, Norway, 2019.
[Schmidt 2019] K. Schmidt: Modellierung und Test: Software für Industrie-Transportroboter. Embedded
Testing, Munich, Germany, 2019.
[Schuster et al. 2017] S. Schuster, C. Seidl, I. Schaefer: Towards a development process for maturing Delta-
oriented software product lines. In Proceedings of the 8th ACM SIGPLAN International Workshop on
Feature-Oriented Software Development (FOSD), 2017, p. 41-50.
[Seitz et al. 2018] A. Seitz, D. Henze, D. Miehle, B. Bruegge, J. Nickles, M. Sauer: Fog Computing as Enabler for
Blockchain-Based IIoT App Marketplaces – A Case Study. In: 5th International Conference on Internet of
Things: Systems, Management and Security (IoTSMS), Valencia, Spain, 2018, pp. 182-188.
[Seitz et al. 2018b] A. Seitz, D. Henze, J. Nickles, M. Sauer, B. Bruegge: Augmenting the Industrial Internet of
Things with Emojis. In: Third International Conference on Fog and Mobile Edge Computing (FMEC),
Barcelona, 2018, pp. 240-245.
[Smirnov et al. 2018] D. Smirnov, T. Schenk, J. C. Wehrstedt, Hierarchical Simulation of Production Systems,
In: 14th IEEE International Conference on Automation Science and Engineering (CASE), Munich,
Germany, 2018.
List of Publications 403
[Stenkova et al. 2019] V. Stenkova, J. Brings, M. Daun, T. Weyer: Generic negative scenarios for the
specification of collaborative cyber-physical systems. In: Proceedings of 38th International Conference
on Conceptual Modeling (ER), 2019, pp. 412-419.
[Stenkova et al. 2020] V. Stenkova, M. Daun, J. Brings, T. Weyer: Generische Negativszenarien in der
Entwicklung kollaborativer cyber-physischer Systeme. In: Fachgruppentreffen "Requirements
Engineering" der Gesellschaft für Informatik, GI, accepted, 2020.
T
[Tenbergen et al. 2018] B. Tenbergen, M. Daun, P. Aluko Obe, J. Brings: View-Centric Context Modeling to
Foster the Engineering of Cyber-Physical System Networks. In: IEEE International Conference on
Software Architecture (ICSA), Seattle, WA, USA, 2018.
[Törsleff et al. 2018] S. Törsleff, C. Hildebrandt, M. Daun, J. Brings, A. Fay: Modeling the Dynamic and Open
Context of Collaborative Embedded Systems: Requirements and Initial Approach. In: Emerging Ideas and
Trends in the Engineering of Cyber-Physical Systems (EITEC), 2018, pp. 25-32.
[Törsleff et al. 2018b] S. Törsleff, C. Hildebrandt, M. Daun, J. Brings, A. Fay: Developing Ontologies for the
Collaboration of Cyber-Physical Systems: Requirements and Solution Approach. In: 4th International
Workshop on Emerging Ideas and Trends in the Engineering of Cyber-Physical Systems (EITEC), Porto,
Portugal, 2018.
[Törsleff et al. 2019] S. Törsleff, C. Hildebrandt, A. Fay: Development of Ontologies for Reasoning and
Communication in Multi-Agent Systems. In: 11th International Joint Conference on Knowledge
Discovery, Knowledge Engineering and Knowledge Management, 2019.
U
[Unverdorben et al. 2018] S. Unverdorben, B. Böhm, A. Lüder: Reference Architectures for Future Production
Systems in the Field of discrete manufacturing. In: 14th IEEE International Conference on Automation
Science and Engineering (CASE), Munich, Germany, 2018, pp. 869-874.
[Unverdorben et al. 2019] S. Unverdorben, B. Böhm, A. Lüder: Concept for Deriving System Architectures
from Reference Architectures. In: 2019 IEEE International Conference on Industrial Engineering &
Engineering Management (IEEM), Macau, 2019.
[Unverdorben et al. 2019b] S. Unverdorben, B. Böhm, A. Lüder: Industrie 4.0 – Architekturansätze und
zugehörige Konzepte für konventionelle Produktionsanlagen / Industrie 4.0 – Architectural approaches
and related concepts for conventional production systems. In: VDI-Kongress AUTOMATION –
Leitkongress der Mess- und Automatisierungstechnik, Baden-Baden, Germany, 2019.
V
[Velasco Moncada et al.] S. Velasco Moncada, J. Reich, M. Tchangou: Interactive information zoom on
Component Fault Trees. In: Schaefer, I., Karagiannis, D., Vogelsang, A., Méndez, D. & Seidl, C. (Hrsg.),
Modellierung 2018. Gesellschaft für Informatik e.V., Bonn, 2018, pp. 311-314.
[Velasco Moncada 2020] D. S. Velasco Moncada: Hazard-driven realization views for Component Fault Trees.
In: Software and Systems Modeling, Springer, 2020.
404 List of Publications
W
[Wager and Prehofer 2018] A. Wager, C. Prehofer: Translating Multi-Device Task Models to State Machines.
In: 6th International Conference on Model-Driven Engineering and Software Development, SciTePress
2018, pp. 201-208.
[Wehrstedt et al. 2019] J. C. Wehrstedt, B. Groos, W. Klein, V. Malik, S. Rothbauer, M. Zeller, S. Weiß, B. Böhm,
J. Brings, M. Daun, B. Caesar, A. Fay, C. H. Koo, M. Vorderer: A Seamless Description Approach for
Engineering – Methods Illustrated for Industrie 4.0 Scenarios. In: VDI-Kongress AUTOMATION –
Leitkongress der Mess- und Automatisierungstechnik, Baden-Baden, Germany, 2019.
[Wehrstedt et al. 2020] J. C. Wehrstedt, A. Sohr, T. Schenk, R. Rosen, Y. Zhou: A Framework for Operator Assist
Apps of Automated Systems. In: IFAC World Congress, Berlin, 2020.
[Weiß et al. 2018] S. Weiß, B. Böhm, S. Unverdorben, J. Vollmar: Auswirkungen zukünftiger
Zusammenarbeitsszenarien auf industrielle Produktionsanlagen. In: VDI-Kongress AUTOMATION –
Leitkongress der Mess- und Automatisierungstechnik, Baden-Baden, Germany, 2018.
[Weiß et al. 2019] S. Weiß, B. Caesar, B. Böhm, J. Vollmar, A. Fay: Modellierung von Fähigkeiten industrieller
Anlagen für die auftragsgesteuerte Produktion. In: VDI-Kongress AUTOMATION – Leitkongress der
Mess- und Automatisierungstechnik, Baden-Baden, Germany, 2019.
[Weyer 2018] T. Weyer: Requirements Engineering im Zeitalter von Digitalisierung und Autonomen
Systemen. In: Requirements Engineering Conference (REConf) 2018, HOOD Group, München, 2018
[Wolf et al. 2020] S. Wolf, B. Caesar, A. Fay, B. Böhm: Erstellung eines Domänenmodells zur Beschreibung
von Fähigkeiten fertigungstechnischer Anlagen für die auftragsgesteuerte Produktion. In: VDI-Kongress
AUTOMATION – Leitkongress der Mess- und Automatisierungstechnik, Baden-Baden, Germany, 2020.
Z
[Zarras et al. 2018] A. Zarras, I. Gerostathopoulos, D. Mendez Fernandez: Can Today’s Machine Learning Pass
Image-based Turing Tests? In: 40th International Conference on Software Engineering (ICSE), 2018, pp.
129-148.
[Zarras et al. 2018b] A. Zarras, I. Gerostathopoulos, D. Mendez Fernandez: Shooting Ourselves on the Foot:
Can Today's Machine Learning Pass Image-Based Turing Tests? ACM Internet Measurement Conference
2018 (IMC 2018), submitted, 2018.
[Zernickel and Schmiljun 2018] J. S. Zernickel, A. Schmiljun: Die Fabrik der Zukunft, Fachartikel in „Deutsche
Verkehrszeitung“, 2018.
[Zernickel and Stubert 2017] J. Zernickel, H. Stubert: Podiumsdiskussion zum Thema „Industrie 4.0“ mit
Vertretern aus Wirtschaft, Wissenschaft und Politik, Berlin, 2017.
[Zhou et al. 2019] Y. Zhou, M. Allmaras, A. Massalimova, T. Schenk, A. Sohr, J.C. Wehrstedt: Assist System
Framework for Production Prioritization - Flexible Architecture to integrate Simulation in Run-Time
Environment, In: VDI-Kongress AUTOMATION – Leitkongress der Mess- und Automatisierungstechnik,
Baden-Baden, Germany, 2019.