=Paper= {{Paper |id=Vol-1826/paper15 |storemode=property |title=PROtEUS++: A Self-managed IoT Workflow Engine with Dynamic Service Discovery |pdfUrl=https://ceur-ws.org/Vol-1826/paper15.pdf |volume=Vol-1826 |authors=Ronny Seiger,Steffen Huber,Peter Heisig |dblpUrl=https://dblp.org/rec/conf/zeus/SeigerHH17 }} ==PROtEUS++: A Self-managed IoT Workflow Engine with Dynamic Service Discovery== https://ceur-ws.org/Vol-1826/paper15.pdf
    PROtEUS++: A Self-managed IoT Workflow
      Engine with Dynamic Service Discovery

                  Ronny Seiger, Steffen Huber, and Peter Heisig

                 Institute of Software and Multimedia Technology,
                Technische Universität Dresden, D-01062, Germany
             {Ronny.Seiger, Steffen.Huber, Peter.Heisig}@tu-dresden.de


       Abstract. Despite offering various advantages, the usage of Business
       Process Management technologies to orchestrate workflows in the Internet
       of Things (IoT) is still in its infancy. In this work, we demonstrate an
       extended version of our PROtEUS process execution system for IoT.
       Besides the processing of sensor streams and interacting with humans,
       PROtEUS++ is capable of dynamic service invocation as well as self-
       management to detect and repair errors that happen during process
       execution. We show the system executing various dynamic and error-
       prone processes in the Smart Home.


1   Introduction
The IoT and its associated technologies are currently transforming the world
of purely digital information systems into Cyber-physical Systems (CPS). The
interaction with the physical world requires feedback loops and flexible service
composition to compensate errors, which makes selection of IoT services highly
context dependant. The BPM and SOA communities provide promising tech-
nologies for increasing the automation within CPS. However, the convergence
of these research areas has only just started. With PROtEUS++ we present a
novel self-managed IoT/CPS workflow engine with dynamic service discovery,
which combines BPM and SOA concepts applied in the context of CPS. We show
new use cases for PROtEUS++ in the smart home providing an adaptive light
control system and executing distributed processes on mobile robots.

2    PROtEUS Base System
The PROtEUS base system and its highlighted extensions are shown in Fig. 1.
PROtEUS is a workflow system designed to execute processes in the IoT [4]. It
features a Petri net based core engine. A complex event processing (CEP) engine
is used to process sensor streams from digital and physical sources. The service
invoker is able to call a variety of external Web services or services deployed on its
local service platform and thereby invoke physical actuators. Users can interact
with processes via the HumanTask Handler and the Process Manager to control
the execution. The Distribution Manager allows for executing subprocesses on
other remote PROtEUS instances. The extended PROtEUS++ system adds the
Semantic Access Layer and the Feedback Service to the base system.




    O. Kopp, J. Lenhard, C. Pautasso (Eds.): 9th ZEUS Workshop, ZEUS 2017, Lugano,
         Switzerland, 13-14 February 2017, published at http://ceur-ws.org/
                       PROtEUS++: A Self-managed IoT Workflow Engine                                                                         91
                                                                                                            PROtEUS              Feedback
                                                                                                                                  Service
                                            Process Execution Engine                                                             Monitor

                                                                                                                                 Analyzer

                                                            Local Service Platform                                     Process   Planner
                                                                                                                        Goals
    Distribution        Process        Human Task
                                                              Service                            CEP Engine                      Executor
     Manager            Manager          Handler                           Service
                                                              Service      Actuator

                                                                                                                                 Knowledge
                                                                                                                                   Base
                    WebSocket Server                           Service Invoker                   CEP Adapter


      Remote          Management        Interactive       Service       Semantic      Service
    Engine Client       Client             Client         Sensor         Access
                                                                                      Actuator     Sensor     Sensor
                                                         Actuator         Layer



       Fig. 1. The basic process execution system (PROtEUS) and its extensions.


3     Semantic Service Selection
PROtEUS is extended with a Semantic Access Layer (SAL) [2] as shown in
Fig. 2. The core of this service is a knowledge base that contains information
about all IoT sensors and actuators, their capabilities and contexts, as well as
their associated IoT services and interfaces. User defined SPARQL queries can
be sent to the SAL from a process activity to find and invoke IoT services in a
specified context at runtime. If an IoT service can be found as a process resource,
a call to our IoT middleware (here: OpenHAB) is issued to execute this service.



         Process
                                                 PROtEUS
          Model                   Semantic Query                    Lifted Response
         (SPARQL)
                                                      SAL                                               Knowledge Base
                                             Response
                                                                                                           (Interface,
                           Lowered Invoke
                                                                                                       Capabilities, Context)

                                  IoT-Service                  IoT-Service
                                                                                                                 Cyber World


                                     Sensor                         Actuator                                   Physical World



                      Fig. 2. Architecture of the semantic access layer (SAL).




4     Feedback Service for Self-management
The base system can be used in combination with the Feedback Service [3], which
adds self-management (here: self-healing) in the form a cyber-physical feedback
loop to PROtEUS (cf. Fig. 1). This service implements the MAPE-K loop for
autonomous systems applied to the process execution [1]. This loop enables the
linking of the execution of process activities to their physical effects: Monitoring
92       Ronny Seiger et al.

gathers relevant sensor data from the environment and execution system; Analysis
analyzes the data regarding the fulfillment of the process goals; Planning searches
for compensations (here: alternative actuators or services) in case of unexpected
errors; and Execution executes these compensations. All components use the
Knowledge Base to store and retrieve relevant information (e. g., for finding
replacement services). This loop is executed until a process goal is reached or
cancelled if errors cannot be compensated. These Process Goals are specified on
the activity, subprocess or process level. They contain the paths to relevant sensor
data, a condition defining the successful execution, and a condition defining the
need for entering the Planning phase due to an error [4].

5    Demo
We present several real-world use cases of PROtEUS++ executing three example
processes. 1) A process demonstrating the base system and the dynamic service
selection via the SAL–a health monitoring process asking the user for its well-
being in case of a detected emergency and calling an ambulance if the user is
unresponsive. 2) A process demonstrating the base system interacting with the
Feedback Service. A continuous process controls the light levels in a room to be
within certain thresholds–selecting an alternative light source or notifying the
user if the lights fail. 3) A process demonstrating the execution and feedback
control of a distributed process on a service robot–repeating the subprocess on
another robot if it fails during the driving to different locations. Along with these
processes, we present the modelling tool [5] as well as a mobile control center
app to interact with the workflows [6].

Acknowledgements
This research has received funding under the grant number 100268299 by the
European Social Fund (ESF) and the German Federal State of Saxony.

References
1. Autonomic Computing: An architectural blueprint for autonomic computing. IBM
    Publication (2003)
2. Huber, S., Seiger, R., Schlegel, T.: Using semantic queries to enable dynamic service
    invocation for processes in the internet of things. In: ICSC. pp. 214–221 (Feb 2016)
3. Seiger, R., Huber, S., Heisig, P., Assmann, U.: Enabling Self-adaptive Workflows for
    Cyber-physical Systems, pp. 3–17. Springer International Publishing (2016)
4. Seiger, R., Huber, S., Schlegel, T.: Proteus: An integrated system for process execution
    in cyber-physical systems. In: Enterprise, Business-Process and Information Systems
    Modeling, LNBIP, vol. 214, pp. 265–280 (2015)
5. Seiger, R., Keller, C., Niebling, F., Schlegel, T.: Modelling complex and flexible
    processes for smart cyber-physical environments. JOCS 10, 137–148 (2015)
6. Seiger, R., Lemme, D., Struwe, S., Schlegel, T.: An interactive mobile control center
    for cyber-physical systems. In: UbiComp Adjunct Proceedings. pp. 193–196. UbiComp
   ’16, ACM, New York, NY, USA (2016)