Distributed Dependable Ensembles of Components (DEECo)
by Michal Kit, Ilias Gerostathopoulos, Tomas Bures, Petr Hnetynka, and Frantisek Plasil.
To develop self-adaptive cyber-physical systems (CPS) we advocate the use of component-based abstractions and related tools . DEECo is a component system (model and runtime platform) that provides the architecture abstractions of autonomous components and dynamic component groups (called ensembles) on top of which different adaptation techniques can be deployed. This makes DEECo a vehicle for seamless experiments with self-adaptive systems where the physical distribution and mobility of nodes, and the limited data availability play an important role.
DEECo was introduced to the SEAMS community at the 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems in Florence, Italy .
DEECo is built on the concepts of autonomous components and ensembles . A component is an independent unit of computation and deployment, while an ensemble is a group of components cooperating to achieve a particular goal. A component in DEECo consists of its knowledge (the state of the component and its belief about other components), and of real-time processes. Processes in DEECo are periodic- time-triggered and event-triggered. This makes it easy to implement both real-time CPS control logic and adaptation logic as MAPE-K loops.
An ensemble is defined by its membership condition and its knowledge exchange. Membership determines which components to involve in an ensemble, whereas knowledge exchange specifies which knowledge should be exchanged among these components. An ensemble may be instantiated multiple times if the situation described by membership occurs at different places (potentially involving different components). Communication between components is not direct but happens only via knowledge exchange between components in an ensemble.
Example Application: Cooperative Parking Reservation System
Vehicles are equipped with vehicle-to-vehicle (V2V) communication and smart sensors to detect available parking spaces along the streets and exchange their knowledge about the available parking capacity (Figure 1). From the architectural perspective, vehicles are represented as autonomous components, each consisting of a belief and real-time processes. While the belief (knowledge in DEECo) reflects the components' perspective about the available parking spaces, the real-time processes take care of sensing the current position, free parking spaces in visible range, etc. In addition to direct sensing, component enrich their belief by exchanging the belief with other components, i.e., the information about the available parking capacity is exchanged between vehicles that are in proximity (typically via limited-range V2V communication). This information allows vehicles to adjust their route to find a parking space. Also, the inter-component communication may be used to negotiate with other vehicles for selecting and reserving a parking space.
Relevance: Why to use DEECo
- Suitable abstractions.
DEECo abstractions of autonomous components and ensembles allows modeling a dynamic self-adaptive CPS in an intuitive way. Ensembles are established/disbanded dynamically at runtime depending on the state of the environment and the state of the components. They can overlap, reflecting the fact that a component may take on multiple roles and pursue multiple goals at the same time (e.g., the goal of having up-to-date information about parking spaces and the goal of making sure that selected parking space is reserved).
- Extensibility and support for design.
DEECo is open to deployment of different adaptation algorithms or strategies. At the same time, it is supported by a dedicated design method (IRM) that is based on the invariant abstraction . IRM makes it also possible to capture and exploit architecture variability (in certain potentially overlapping situations) by OR-decompositions .
JDEECo (the Java implementation of DEECo) provides a simulation framework which allows experimentations with decentralized adaptive behavior of smart CPS. The simulation framework is integrated with OMNeT++ network simulator. All knowledge exchange passed between components is routed through OMNeT++, which provides realistic estimates of network latency w.r.t. to network topology, geographical position of components, network collisions and packet drops, etc. (Figure 2). The simulation framework is also integrated with MatSim simulator that provides large-scale agent-based transport simulations.
Engineering and Adaptation Challenges
DEECo responds to the challenge of engineering smart software-intensive CPS that support both dependability and self-adaptability. These concerns are to an extent contradictory, as the more flexible a system is, the less predictable, hence less dependable.
At the same time, DEECo focuses on the challenge of engineering self-adaptive systems with a high degree of operational uncertainty, stemming, e.g., from temporal disconnections and network delays. It provides a faithful simulation framework (with network-accurate simulation of communication), where different approaches to self-adaptation (e.g. IRM) can be plugged in and compared with regards to how well they cope with high operational uncertainty.
Download and Setup
jDEECo can be tried out on a realization of the Cooperative Parking Reservation System. To ease experimentations, a preconfigured Virtual Machine image is available:
Download Virtual Machine (2.3 GB)
Alternatively, the latest jDEECo version (together with a tutorial) can be found on GitHub:
- R. Al Ali, T. Bures, I. Gerostathopoulos, P. Hnetynka, J. Keznikl, M. Kit, and F. Plasil, "DEECo: An Ecosystem for Cyber-Physical Systems", in Companion Proc. of ICSE'14, 2014, pp. 610-611, ACM.
- M. Kit, I. Gerostathopoulos, T. Bures, P. Hnetynka, and F. Plasil, "An Architecture Framework for Experimentations with Self-Adaptive Cyber-Physical Systems", in Proc. of SEAMS'15, 2015, IEEE.
- T. Bures, I. Gerostathopoulos, P. Hnetynka, J. Keznikl, M. Kit, and F. Plasil, "DEECo -- An Ensemble-Based Component System", in Proceedings of CBSE'13, 2013, pp. 81-90, ACM.
- J. Keznikl, T. Bures, F. Plasil, I. Gerostathopoulos, P. Hnetynka, N. Hoch, "Design of Ensemble-Based Component Systems by Invariant Refinement", in Proc. of CBSE'13, 2013, pp. 91-100, ACM.
- I. Gerostathopoulos, T. Bures, P. Hnetynka, J. Keznikl, M. Kit, F. Plasil, and N. Plouzeau, "Self-Adaptation in Cyber-Physical Systems: from System Goals to Architecture Configurations", Department of Distributed and Dependable Systems, D3S-TR-2015-02, May 2015.