SORRIR

A self-organising resilient execution platform for IoT services

from 2019 to 2022

SORRIR is a project funded by the German Federal Ministry of Education and Research. SORRIR aims to make the Internet of Things (IoT) more reliable and more secure. SORRIR offers a comprehensive approach to this goal with an appropriate programming model, a resilience library for IoT, as well as execution and orchestration for applications in the IoT area. SORRIR will make it possible for resilience mechanisms to be linked to the application not only during installation, but even at runtime.

Related Publications

2023

Köstler, J., Reiser, H.P., Hauck, F.J. and Habiger, G. 2023. Fluidity: location-awareness in replicated state machines. 38th ACM/SIGAPP Symp. on Appl. Comp. – SAC (Mar. 2023).
In planetary-scale replication systems, the overall response delay is greatly influenced by the geographical distances between client and server nodes. Current systems define the replica locations statically during startup time. However, the selected locations might be suboptimal for the clients, and the client request origin distribution may change over time, so a different replica placement may provide lower overall request latencies. In this work, we propose a locationaware replicated state machine that is able to adapt the geographic location of its replicas dynamically during runtime to locations geographically closer to client request origins. Our prototype is able to observe emerging optimization potentials and to reduce the overall request latency for the majority of clients by adapting its replica locations to the time-dependent optimum placement during real-world use case evaluations, whereby the absolute performance gain is dependent on the respective usage scenario.

2022

Berger, C., Reiser, H.P., Hauck, F.J., Held, F. and Domaschka, J. 2022. Automatic integration of BFT state-machine replication into IoT systems. CoRR. abs/2207.00500, (2022).
Byzantine fault tolerance (BFT) can preserve the availability and integrity of IoT systems where single components may suffer from random data corruption or attacks that can expose them to malicious behavior. While state-of-the-art BFT state-machine replication (SMR) libraries are often tailored to fit a standard request-response interaction model with dedicated client-server roles, in our design, we employ an IoT-fit interaction model that assumes a loosly-coupled, event-driven interaction between arbitrarily wired IoT components. In this paper, we explore the possibility of automating and streamlining the complete process of integrating BFT SMR into a component-based IoT execution environment. Our main goal is providing simplicity for the developer: We strive to decouple the specification of a logical application architecture from the difficulty of incorporating BFT replication mechanisms into it. Thus, our contributions address the automated configuration, re-wiring and deployment of IoT components, and their replicas, within a component-based, event-driven IoT platform.
Berger, C., Reiser, H.P., Hauck, F.J., Held, F. and Domaschka, J. 2022. Automatic integration of BFT state-machine replication into IoT systems. 18th Eur. Dep. Comp. Conf. – EDCC (2022), 1–8.
Byzantine fault tolerance (BFT) can preserve the availability and integrity of IoT systems where single components may suffer from random data corruption or attacks that can expose them to malicious behavior. While state-of-the-art BFT state-machine replication (SMR) libraries are often tailored to fit a standard request-response interaction model with dedicated client-server roles, in our design, we employ an IoT-fit interaction model that assumes a loosly-coupled, event-driven interaction between arbitrarily wired IoT components.In this paper, we explore the possibility of automating and streamlining the complete process of integrating BFT SMR into a component-based IoT execution environment. Our main goal is providing simplicity for the developer: We strive to decouple the specification of a logical application architecture from the difficulty of incorporating BFT replication mechanisms into it. Thus, our contributions address the automated configuration, rewiring and deployment of IoT components, and their replicas, within a component-based, event-driven IoT platform.
Berger, C., Eichhammer, P., Reiser, H.P., Domaschka, J., Hauck, F.J. and Habiger, G. 2022. A survey on resilience in the IoT: taxonomy, classification, and discussion of resilience mechanisms. ACM Comp. Surv. 54, 7 (2022), 147:1-147:39.
Internet-of-Things (IoT) ecosystems tend to grow both in scale and complexity, as they consist of a variety of heterogeneous devices that span over multiple architectural IoT layers (e.g., cloud, edge, sensors). Further, IoT systems increasingly demand the resilient operability of services, as they become part of critical infrastructures. This leads to a broad variety of research works that aim to increase the resilience of these systems. In this article, we create a systematization of knowledge about existing scientific efforts of making IoT systems resilient. In particular, we first discuss the taxonomy and classification of resilience and resilience mechanisms and subsequently survey state-of-the-art resilience mechanisms that have been proposed by research work and are applicable to IoT. As part of the survey, we also discuss questions that focus on the practical aspects of resilience, e.g., which constraints resilience mechanisms impose on developers when designing resilient systems by incorporating a specific mechanism into IoT systems.

2021

Heß, A., Hauck, F.J., Mödinger, D., Pietron, J., Tichy, M. and Domaschka, J. 2021. Morpheus: A Degradation Framework for Resilient IoT Systems. STAF Workshops (Virtual Event, Bergen - Norway, 2021), 105–114.
Graceful degradation is an established concept to improve the resilience of systems, especially when other resilience mechanisms have failed. Its implementation is often heavily tied to the application code and, thus, cumbersome and error prone. As IoT systems get not only ubiquitous but also critical, reliable graceful degradation would be ideal. In this paper, we present the Morpheus framework that provides a TypeScript-internal DSL to enable a systematic development of degradable IoT systems. The design of the framework is based on the concept of separation of concerns by providing distinct yet linked languages to specify hierarchical components and their connections; the components’ operating modes and transfer functions between them; as well as state machines for the specification of the components’ behaviour in each operating mode. The operating modes for each component serve as degradation levels. Automatic degradation of a component is triggered in case of failures of connected components. With recovery from underlying failures, the component is automatically upgraded back to a higher level. We illustrate our framework using a simplified prototype of an entrance barrier of a parking garage

2020

Tichy, M., Pietron, J., Mödinger, D., Juhnke, K. and Hauck, F.J. 2020. Experiences with an Internal DSL in the IoT Domain. 4th Int. Worshp. on Model-Driv. Eng. for IoT – MDE4IoT (2020), 22–34.
Modeling the architecture and behavior of embedded systems has long been a success story in the engineering of embedded systems due to the positive effects on quality and productivity, e.g., by declara- tive specifications, by enabling formal analyses, and by the generation of optimized code. These benefits, however, can only be reaped with extensive investments in specialized languages and tools which typically come with a closed and highly restrictive ecosystem. In this paper, we report our experiences while building an internal domain-specific language for IoT systems. We present our modeling language realized in Type- Script and integrated into the TypeScript/JavaScript ecosystem. The modeling language supports the declarative specification and execution of components, connectors, and state machines. We also provide a simple state space exploration to enable quality assurance techniques like test case generation and model checking. The language is illustrated by a running example with IoT devices. We believe that our solution lies at a sweet spot of providing a declarative modeling experience while reaping benefits from modern programming languages and their ecosystem to boost productivity

2019

Domaschka, J., Berger, C., Reiser, H.P., Eichhammer, P., Griesinger, F., Pietron, J., Tichy, M., Hauck, F.J. and Habiger, G. 2019. SORRIR: a resilient self-organizing middleware for IoT applications. Proc. of 6th Int. Worksh. on Middlew. and App. for the Internet of Things (M4IoT) (Davis, CA, Dec. 2019), 13–16.
Eichhammer, P., Berger, C., Reiser, H.P., Domaschka, J., Hauck, F.J., Habiger, G., Griesinger, F. and Pietron, J. 2019. Towards a robust, self-organizing IoT platform for secure and dependable service execution. Tagungsband des FB-SYS Herbsttreffens 2019 (Osnabrück, 2019).