=Paper= {{Paper |id=Vol-2405/15_paper |storemode=property |title=The CPSwarm Technology for Designing Swarms of Cyber-Physical Systems |pdfUrl=https://ceur-ws.org/Vol-2405/15_paper.pdf |volume=Vol-2405 |authors=Midhat Jdeed,Melanie Schranz,Alessandra Bagnato,Sarah Suleri,Gianluca Prato,Davide Conzon,Micha Sende,Etienne Brosse,Claudio Pastrone,Wilfried Elmenreich |dblpUrl=https://dblp.org/rec/conf/staf/JdeedSBSPCSBPE19 }} ==The CPSwarm Technology for Designing Swarms of Cyber-Physical Systems== https://ceur-ws.org/Vol-2405/15_paper.pdf
           The CPSwarm Technology for Designing
             Swarms of Cyber-Physical Systems

       Midhat Jdeed1 , Melanie Schranz2 , Alessandra Bagnato3 , Sarah Suleri4 ,
        Gianluca Prato5 , Davide Conzon5 , Micha Sende2 , Etienne Brosse3 ,
                  Claudio Pastrone5 , and Wilfried Elmenreich1
                     1
                 Alpen-Adria-Universität Klagenfurt, Klagenfurt, Austria
                          Email: firstname.lastname@aau.at
                      2
                         Lakeside Labs GmbH, Klagenfurt, Austria
                          Email: lastname@lakeside-labs.com
                        3
                          Softeam RD Department, Paris, France
                        Email: firstname.lastname@softeam.fr
      4
        Fraunhofer Institute for Applied Information Technologies, Sankt Augustin,
                                        Germany
                    Email: firstname.lastname@fit.fraunhofer.de
                           5
                              LINKS Foundation, Torino, Italy
                  Email: firstname.lastname@linksfoundation.com



           Abstract. The increasing interactions among Cyber-Physical Systems
           (CPSs) lead to systems with emerging and unpredictable behaviors. Such
           an example is the domain of swarm robotics where the interactions
           among swarm members remain a complex topic especially in environ-
           ments that are dynamically changing. However, CPSs find applications
           in a number of large-scale, safety-critical domains, e.g., transportation,
           smart cities. Considering this fact, CPSwarm project positions itself in
           the domain of swarm of CPS design and engineering, and to provide tools
           and methodologies that pave the way toward well-established, model-
           based and predictive engineering design methodologies and toolchains
           for a swarm of CPS. This paper showcases the CPSwarm results dur-
           ing the first two years, 2017 and 2018, and introduces the technological
           concept behind CPSwarm. The CPSwarm approach aims to establish
           a science of system integration in the domain of swarms of CPS, i.e.,
           of complex herds of heterogeneous CPSs that interact and collaborate
           based on local policies in order to solve complex industrial-driven and
           real-world problems. Moreover, the paper presents a search and rescue
           (SAR) case study using the CPSwarm approach.
           Keywords: Swarm robotics · Swarm engineering · Software technolo-
           gies.


1       Project data
   – Acronym: CPSwarm
   – Title: Cyber-Physical Systems (CPS) Swarms
   – Start date: January 1, 2017
   – Duration: 36 months
   – Partners: LINKS Foundation, Fraunhofer Gesellschaft zur Förderung der
     angewandten Forschung e.V., Lakeside Labs, Alpen-Adria-Universität Kla-
     genfurt, TTTech Computertechnik, SEARCH Laboratory, DigiSky, SOFT-
     EAM, and Robotnik Automation.
   – Web site: https://www.cpswarm.eu/



Copyright © 2019 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
86     M. Jdeed et al.

2    Introduction
While the increased CPS adoption has resulted in the maturation of solutions
for CPS development, a single consistent science of system integration for CPS
has not yet been consolidated. Therefore, CPS development remains a complex
and error-prone task, often requiring a collection of separate tools, to follow
a CPS design cycle including modelling, simulation, optimization, deployment.
Moreover, interactions amongst CPSs might lead to new behaviors and emerg-
ing properties, often with unpredictable results. Rather than being an unwanted
byproduct, these interactions can become an advantage if explicitly managed
since early design stages. CPSwarm tackles this challenge by proposing a new
science of system integration and tools to support engineering of CPS swarms.
CPSwarm tools will ease development and integration of complex herds of hetero-
geneous CPSs that collaborate based on local policies and that exhibit a collec-
tive behavior capable of solving complex, industrial-driven, real-world problems.
The project defines a complete toolchain that enables the designer to (a) set-up
collaborative autonomous CPSs; (b) test the swarm performance with respect to
the design goal; and (c) massively deploy solutions towards reconfigurable CPS
devices. Model-centric design and predictive engineering are the pillars of the
project, enabling definition, composition, verification and simulation of collabo-
rative, autonomous CPSs while accounting for various dynamics, constraints and
for safety, performance and cost efficiency issues. Project results will be tested
in real-world use cases in 3 different domains: swarms of Unmanned Aerial Vehi-
cles (UAVs) and rovers for SAR applications; platooning of autonomous freight
vehicles; and swarm logistics [1].
    The paper is organized as follows: The next section provides a review of re-
lated projects. Section 4 presents the software technology for swarm of CPSs the
CPSwarm is developing. Section 5 describes the case study and the implemen-
tation process using the initial CPSwarm technology. Conclusions are drawn in
Section 6, together with an outline of possible future work.

3    Related Work
The CPSwarm project focuses on system integration to provide a comprehensive
but self-contained tool chain to model, optimize, simulate and deploy a CPS
swarm. The project builds up on several other approaches that followed the idea
of representing the CPS design process. To name but a few, the idea of the
ENOSYS project [2] was to specify and develop a tool supported design flow
for designing and implementing embedded systems by seamless integration of
high-level system specifications, software code generation, hardware synthesis
and design space exploration. The aim of the INTO-CPS [3] project was to
create an integrated tool chain for comprehensive model-based design of CPSs.
The project CERBERO [4] has a cross-layer model-based approach to describe,
optimize, and analyze the system and all its different view, while supporting
adaptivity. A similar approach is followed by OpenMETA [5], a model- and
component-based design tool chain for CPSs that deals with a new horizontal
integration layer to support model, tool and design process integration. Also,
The CPSwarm Technology for Designing Swarms of Cyber-Physical Systems           87

FitOptiVis [6] project proposes the introduction of model-driven engineering
technologies to design and develop dependable autonomous systems, driven by
industrial use cases. CyFuzz [7], on the other, is a differential testing framework
to find bugs in CPS development environments. The main focus of each project
was on a single CPS and a selected set of tools, instead of aiming to represent
the entire design process for CPS swarms.

4   CPSwarm Technology and Relevance of Project
To our knowledge, swarm algorithms have not yet been applied to real-world ap-
plications so far, thus, the CPSwarm aim is to address the software technologies
design and their integration for such systems in order to solve complex industrial-
driven and problems. The CPSwarm approach is to integrate various tools into
the so called CPSwarm Workbench [8].The Workbench is a toolset comprised of
Modelling Library, Modelling Tool, Simulation and Optimization Environment,
Code Generator, and Deployment Tool. Consequently, the CPSwarm Launcher
is developed to be the glue for the complete toolset in the Workbench, Figure 1.
The Launcher provides a user-friendly Graphical User Interface (GUI), to allow
an easy and structured usage of the toolset. In addition, the Launcher acts as
a wizard to guide the users through the CPSwarm workflow. It provides sup-
port for managing asset files for each respective phase within a project. In the
following, a brief introduction about each tool is provided:




                         Fig. 1. The CPSwarm Launcher.

 1. Swarm Modelling allows the definition of two main aspects of a swarm
    [9]: Its architecture as a set of CPSs composed of hardware components,
    and its behaviour as a set of individual state machine. Based on top of the
    SysML standard, many reusable models (CPS, sensor, actuator, controller
    and behaviour) are provided inside dedicated libraries to the user.
 2. Simulation and Optimization allows evaluating the performance of a
    swarm solution. This environment includes mainly three components [10]:
88     M. Jdeed et al.

    the Simulation and Optimization Orchestrator (SOO) that coordinates all
    the simulation and optimization tasks; a set of Simulation Managers (SMs)
    that allow controlling heterogeneous Simulation Tools (STs) with common
    Application Programming Interfaces (API); and an Optimization Tool (OT),
    like FRamework for EVOlutionary design (FREVO) [11], used to perform
    the optimization processes.
 3. Code Generation represents the linking level between the modeling phase
    and the deployment of the code on an actual CPS. Using the Modelling Tool
    the user can easily model new CPS behaviours using Finite State Machines
    (FSM). The Code Generator accepts as input a standard description of the
    state machine using the State Chart XML (SCXML) format and return as
    output a python implementation of that state machine based on the SMACH
    library. The code generation process is realized using a template-based ap-
    proach: a template is a text file and is usually composed by a static part that
    appears in the output as it is and a dynamic part written with a template
    language. This language can be processed by a template engine and replaced
    with the proper data given at runtime.
 4. Swarm Deployment is a lightweight software update and monitoring sys-
    tem for resource-constrained Internet of Things (IoT) devices. It aims to
    provide secure, practical and easy to use utilities for over-the-air (OTA) pro-
    visioning of software on small computers (e.g., Raspberry Pi or other device
    with ARM or x86 architecture). Deployment manager is a centralized web
    service exposing APIs and a GUI for various deployment-related operations,
    ranging from compilation to installation and runtime. Deployment agents
    run on individual devices, performing deployment-related tasks.
 5. Monitor and Command Tool that addresses the challenges to the phase
    after deployment, i.e., as the swarm of CPSs executes its mission. This tool
    runs in the runtime environment and acts as a central commander able to
    give specific commands to the CPSs swarm and monitor its behavior during
    mission execution. It can discover the events provided by the swarm mem-
    bers via the communication library. It sends configuration commands for
    modification of the swarm behavior.

5    Case Study: Search and Rescue
In one of the CPSwarm case studies, we consider heterogeneous swarms of un-
manned ground vehicles (UGVs) and UAVs that in a collaborative and com-
pletely autonomous way can conduct certain missions in the surveillance of crit-
ical infrastructure like industrial or power plants as well as in SAR tasks such as
finding human casualties or people trapped at the site of a major catastrophe.
To validate the model-based design offered by the CPSwarm Workbench a sim-
plified and miniaturized version of a SAR mission has been modeled, simulated
and deployed in an area of 30m x 25m. The mission has a group of drones cover
a selected area using a swarm strategy looking for possible casualties while the
ground robots are on standby. When a casualty (represented by markers) is dis-
covered, the drone communicates the position of the casualty to the rovers and
The CPSwarm Technology for Designing Swarms of Cyber-Physical Systems           89

each rover computes its distance from the casualty and sends this info back to
the drone. Then, the drone selects the closest rover to rescue the casualty and
starts hovering above the casualty communicating possible changes of position.
Finally, the selected rover reaches the casualty and virtually brings it back home.




                       Fig. 2. SAR state machine for UAVs.
    The implementation of this use case had been realized using all parts of the
CPSwarm Workbench. For instance, as a first step, behaviours of both UGVs
and UAVs has been designed in the Modelling Tool adopting an approach based
on Finite State Machines (FSM). Each state has been linked or with a swarm
algorithm (green boxes) or with an individual function provided by the CPSwarm
Abstraction Library (yellow boxes), an example is shown in Figure 2. Then, the
state machines have been exported in the SCXML format and provided as input
for the Code Generator to produce a python implementation of the modelled
behaviours to be deployed on the actual CPSs. More details can be found in this
video6 on the CPSwarm YouTube channel.

6     Conclusion
This paper presented the CPSwarm approach for designing swarms of CPSs. The
proposed CPSwarm Workbench represents the entire life cycle of a CPSs swarm,
from modelling, simulation, optimization, to deployment and finally monitoring.
In the CPSwarm SAR case study, we were able to map the CPSwarm Workbench
vision onto a real-world application using heterogeneous CPSs swarms. As the
6
    https://www.youtube.com/watch?v=F4cFbDkZrWA
90      M. Jdeed et al.

CPSwarm project substantially addresses key challenges facing European CPS
industry, most of the developed technologies, with the final achievements, will
be available as open source products using the well-established exploitation and
dissemination channels of the project partners to encourage their broad take-up
by industry. Moreover, the CPSwarm project is considering educational activities
in its dissemination strategy by planning for workshops at universities or summer
schools to introduce the CPSwarm Workbench. Also, a low-cost robot, Spiderino
[12], is developed for education and swarm research and it is used in workshops
at schools and the Alpen-Adria-Universität in Klagenfurt, Austria.

7    Acknowledgments
This work has received funding from the European Union Horizon 2020 research
and innovation programme under grant agreement No 731946, CPSwarm project.

References
 1. A. Bagnato, R. K. Bı́ró, D. Bonino, C. Pastrone, W. Elmenreich, R. Reiners,
    M. Schranz, and E. Arnautovic, “Designing swarms of cyber-physical systems: The
    h2020 cpswarm project,” in Proceedings of the Computing Frontiers Conference.
    ACM, 2017, pp. 305–312.
 2. E. Brosse, I. R. Quadri, A. Sadovykh, F. Ieromnimon, D. Kritharidis, R. Catrou,
    and M. Sarlotte, “Enosys fp7 eu project: An integrated modeling and synthesis flow
    for embedded systems design,” in 7th International Workshop on Reconfigurable
    and Communication-Centric Systems-on-Chip. IEEE, 2012, pp. 1–5.
 3. P. G. Larsen, J. Fitzgerald, J. Woodcock, P. Fritzson, J. Brauer, C. Kleijn,
    T. Lecomte, M. Pfeil, O. Green, S. Basagiannis et al., “Integrated tool chain
    for model-based design of cyber-physical systems: the into-cps project,” in 2016
    2nd International Workshop on Modelling, Analysis, and Control of Complex CPS
    (CPS Data). IEEE, 2016, pp. 1–6.
 4. M. Masin, F. Palumbo, H. Myrhaug, J. de Oliveira Filho, M. Pastena, M. Pelcat,
    L. Raffo, F. Regazzoni, A. Sanchez, A. Toffetti et al., “Cross-layer design of re-
    configurable cyber-physical systems,” in Proceedings of the Conference on Design,
    Automation & Test in Europe. European Design and Automation Association,
    2017, pp. 740–745.
 5. J. Sztipanovits, T. Bapty, S. Neema, L. Howard, and E. Jackson, “Openmeta:
    A model- and component-based design tool chain for cyber-physical systems,” in
    From Programs to Systems. The Systems perspective in Computing, S. Bensalem,
    Y. Lakhneck, and A. Legay, Eds. Springer, 2014, pp. 235–248.
 6. Z. Al-Ars, T. Basten, A. de Beer, M. Geilen, D. Goswami, P. Jääskeläinen,
    J. Kadlec, M. M. de Alejandro, F. Palumbo, G. Peeren et al., “The fitoptivis ecsel
    project: highly efficient distributed embedded image/video processing in cyber-
    physical systems,” in Proceedings of the 16th ACM International Conference on
    Computing Frontiers. ACM, 2019, pp. 333–338.
 7. S. A. Chowdhury, T. T. Johnson, and C. Csallner, “Cyfuzz: A differential test-
    ing framework for cyber-physical systems development environments,” in Interna-
    tional Workshop on Design, Modeling, and Evaluation of Cyber Physical Systems.
    Springer, 2016, pp. 46–60.
 8. L. Junhong, F. Tavakolizadeh, and S. Adugna Chala, “Initial cpswarm workbench
    and associated tools,” CPSwarm, Public Deliverable D3.4, 2017.
 9. M. Schranz, G. Prato, and E. Brosse, “Updated cpswarm modelling tool,” CP-
    Swarm, Public Deliverable D5.3, 2018.
10. D. Conzon, A. Pitman, M. Cantero, A. Soriano, and O. Morando, “Initial integra-
    tion of external simulators,” CPSwarm, Public Deliverable D6.5, 2018.
11. A. Sobe, I. Fehérvári, and W. Elmenreich, “Frevo: A tool for evolving and eval-
    uating self-organizing systems,” in 2012 IEEE Sixth International Conference on
    Self-Adaptive and Self-Organizing Systems Workshops. IEEE, 2012, pp. 105–110.
12. M. Jdeed, S. Zhevzhyk, F. Steinkellner, and W. Elmenreich, “Spiderino-a low-cost
    robot for swarm research and educational purposes,” in 2017 13th Workshop on
    intelligent solutions in embedded systems (WISES). IEEE, 2017, pp. 35–39.