Self-Adaptive Systems Artifacts and Model Problems
This site contains a set of exemplars for self-adaptive systems. A exemplar can be quite generic such as an artifact or rather specific such as a model problem in self-adaptive systems. The goal is to provide a repository of examples, challenge problems, and solutions that the software engineering for self-adaptive systems community can use to motivate research, exhibit solutions and techniques, and compare results.
Each exemplar should include (a) a name, (b) a short synopsis or problem description, (c) a description of the context in which it appears, and (d) a list of the challenges that it poses for self-adaptation. Optionally, a it can provide additional information, such as a solution including designs and working systems, a comparison of various approaches, or a discussion of the history of the exemplar together with pointers to other sources of information (articles, web sites, etc.) about the problem and its solutions.
The intent is for this site to be an extensible resource that will grow over time through contributions from the community. You can contribute your own exemplar using the supplied template. For more information about submitting ideas for model problems or example solutions contact an editor.
A webserver system providing a simplified news site. The testing environment simulates the slash-dot effect which are periods of abnormally high traffic that overload the system.
- Automated Traffic Routing Problem (ATRP) (accepted at SEAMS 2012)
ATRP is an autonomous vehicle routing scenario. Vehicles, each with personal goals, attempt to travel around a map while competing for resources and handling noisy and partial views of the world and privacy concerns.
- Hogna: A Platform for Self-Adaptive Applications in Cloud Environments (accepted at SEAMS 2015)
Deploying and managing autonomic applications in cloud is a time consuming operation, that require many components to work together. The management will need to extract metrics from the deployed system, analyze them and the make a decision for changes that need to be implemented. Usually, a researcher's work is focused in only one component (investigating different strategies for adaptation, evaluating the impact of various metrics, etc.), while the rest must just work, without the researcher having to spend too much time on them.
- Distributed Dependable Ensembles of Components (DEECo) (accepted at SEAMS 2015)
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.
- Tele Assistance System (TAS) (accepted at SEAMS 2015)
TAS is an exemplar of a service-based system (SBS). SBSs are widely used in e-commerce, online banking, e-health and many other applications. In these systems, services offered by third-party providers are dynamically composed into workflows delivering complex functionality. SBSs increasingly rely on self-adaptation to cope with the uncertainties associated with third-party services, as the loose coupling of services makes online reconfiguration feasible.
- Feed me, Feed me (FmFm) (accepted at SEAMS 2016)
FmFm is an exemplar for engineering adaptive software. It is an IoT-based ecosystem to support food security; that is to ensure sufficient, safe, and nutritious food to the global population. Particularly, it describes four scenarios to experiment and evaluate self-adaptation techniques for the Internet of Things.
- Hadoop-Benchmark: Rapid Prototyping and Evaluation of Self-Adaptive Behaviors in Hadoop Clusters (accepted at SEAMS 2017)
A research acceleration platform for rapid prototyping and evaluation of self-adaptive behavior in Hadoop clusters. It provides an automated manner to quickly and easily provision reproducible Hadoop environments and execute acknowledged benchmarks.
- Self-Adaptive Video Encoder: Comparison of Multiple Adaptation Strategies Made Simple (accepted at SEAMS 2017)
An adaptive video encoder that can be used to compare the behavior of different adaptation strategies using multiple actuators to steer the encoder towards a global goal, composed of multiple conflicting objectives.
- UNDERSEA: An Exemplar for Engineering Self-Adaptive Unmanned Underwater Vehicles (accepted at SEAMS 2017)
UNDERSEA facilitates the development, evaluation and comparison of self-adaptation solutions in the new and important application domain of unmanned underwater vehicles (UUVs). It comes with predefined oceanic surveillance UUV missions, adaptation scenarios, and a reference controller implementation, all of which can easily be extended or replaced.
- DeltaIoT: A Real World Exemplar for Self-Adaptive Internet of Things (accepted at SEAMS 2017)
The DeltaIoT exemplar enables researchers to evaluate and compare new methods, techniques and tools for self-adaptation in Internet of Things (IoT). It applies multi-hop communication, where each IoT mote must have a path towards the gateway along other motes. The focus is on dynamically adapting the network settings of the IoT motes. The exemplar provides several reference scenarios for experimentation and comprises a simulator for offline experimentation and a physical setup of 25 motes that can be accessed remotely for experimentation in the field.
- Model Problem (CrowdNav) and Framework (RTX) for Self-Adaptation Based on Big Data Analytics (accepted at SEAMS 2017)
This artifact provides a concrete model problem that can be used as a case study for evaluating different self-adaptation techniques pertinent to complex large-scale distributed systems. It also provides an extensible tool-based framework for endorsing an arbitrary system with self-adaptation based on analysis of operational data coming from the system. The model problem (CrowdNav) and the framework (RTX) have been packaged together in this artifact, but can also work independently.
- Intelligent Ensembles – a Declarative Group Description Language and Java Framework (accepted at SEAMS 2017)
Smart cyber-physical systems (sCPS) typically operate in a highly uncertain and dynamically changing environment where the ability to cooperate and adapt in groups to cope with various situations becomes a crucial and challenging task. This framework consists of a high-level declarative language for describing dynamic cooperation groups, and a Java runtime library for automatically forming groups that best satisfy the given specification.
- Lotus@Runtime: A Tool for Runtime Monitoring and Verification of Self-adaptive Systems (accepted at SEAMS 2017)
An extensible tool that uses models@runtime to monitor and verify self-adaptive systems. The tool monitors the execution traces generated by a self-adaptive system and annotates the probabilities of occurrence of each system action on their respective transition on the system model. Then, runtime checks of a set of reachability properties are performed against the updated probabilistic model.
- mRUBiS: An Exemplar for Model-Based Architectural Self-Healing and Self-Optimization (accepted at SEAMS 2018)
An extensible exemplar for model-based architectural self-healing and self-optimization. mRUBiS simulates the adaptable software and therefore provides and maintains an architectural runtime model of the software, which can be directly used by adaptation engines to realize and perform model-based self-adaptation. Particularly, mRUBiS supports injecting issues into the model, which should be handled by self-adaptation, and validating the model to assess the self-adaptation.
- K8-Scalar: a workbench to compare autoscalers for container-orchestrated database clusters (accepted at SEAMS 2018)
An easy-to-use and extensible workbench exemplar, which allows researchers to implement and evaluate different self-adaptive approaches to autoscaling container-orchestrated services. The workbench is based on Docker, relies on the container orchestration framework Kubernetes (K8s), and integrates and extends Scalar, a generic testbed for evaluating the scalability of large-scale systems with support for evaluating the performance of autoscalers for database clusters.
- SWIM: An Exemplar for Evaluation and Comparison of Self-Adaptation Approaches for Web Applications (accepted at SEAMS 2018)
An exemplar that simulates a web application and that can be used as a target system with an external adaptation manager interacting with it through its TCP-based interface. An experiment using a simulated 60-server cluster, processing 18 hours of traffic with 29 million requests takes only 5 minutes to run on a laptop computer. SWIM has been used for evaluating self-adaptation approaches, and for a comparative study of model-based predictive approaches to self-adaptation.
- TRAPPed in Traffic? A Self-Adaptive Framework for Decentralized Traffic Optimization (accepted at SEAMS 2019)
Optimizing the traffic flow in a city is a challenging problem, especially in a future traffic system of self-driving cars. This is due to the interactions between the individual traffic agents (vehicles) who compete for the use of the common infrastructure (streets) given traffic dynamics such as stop-and-go effects, changing lanes, and other. The goal is to provide a solution to the above problem that works in a fully decentralized and participatory way.
- PiStarGODA-MDP: A Goal-Oriented Framework to Support Assurances Provision (accepted at SEAMS 2019)
Goal-Oriented Requirements Engineering (GORE) offers proved means to decompose requirements into well-defined entities (goals) and reason about the alternatives to meet them. PistarGODA-MDP is a goal-oriented framework to model self-adaptive systems under different classes of uncertainty (system itself, system’s goals, and environment), and to automatically generate a Markov Decision Process (MDP) model in PRISM language, and reliability and cost parametric formulae of the corresponding system.
- OCCI-compliant, fully causal-connected architecture runtime models supporting sensor management (accepted at SEAMS 2019)
The Open Cloud Computing Interface (OCCI) specification describes a service provider independent application programming interface for the management of heterogeneous cloud resources. With the presented OCCI monitoring extension, it is possible to additionally manage the deployment and configuration of monitoring sensors in the cloud. It enables the representation of the sensors as well as their monitoring results in an OCCI-compliant runtime model.
- DingNet: A Self-Adaptive Internet-of-Things Exemplar (accepted at SEAMS 2019)
A reference implementation for research on self-adaptation in the domain of IoT. DingNet offers a simulator that maps directly to a physical IoT system that is deployed in the area of Leuven, Belgium. DingNet models a set of geographically distributed gateways that are connected to a user application deployed at a front-end server. The gateways can interact over a LoRaWAN network with local, possibly mobile motes that can be equipped with sensors and actuators.
- Dragonfly: a Tool for Simulating Self-Adaptive Drone Behaviours (accepted at SEAMS 2019)
Systems-of-systems are formed by the composition of independently created components into a single system. Such components are designed to satisfy their own requirements, and may not satisfy the overall requirements of the system-of-systems. We refer to components that cannot be adapted to meet both individual and global requirements as “defiant” components. We propose a “cautious” adaptation approach that supports changing the behaviour of such defiant components.
- DARTSim: An Exemplar for Evaluation and Comparison of Self-Adaptation Approaches for Smart Cyber-Physical Systems (accepted at SEAMS 2019)
In cyber-physical systems, self-adaptation approaches face particular challenges, incl. (i) environment monitoring that is subject to sensing errors; (ii) adaptation actions that take time; (iii) dire consequences for not adapting in a timely manner; and (iv) incomparable objectives that cannot be conflated into a single utility metric. To enable researchers to evaluate and compare self-adaptation approaches aiming to address these unique challenges, the DARTSim exemplar can be used.
- AMELIA: Analyzable ModELs Inference from trAjectories (accepted at SEAMS 2019)
A technique to infer analyzable models from general trajectories of spatially-distributed systems, which may be used for engineering analysis or planning facilities for the overall self-adaptive systems. Such spatial models are used for evaluation of requirements predicating about the structure of space, the spatial distribution of devices, temporal as well as quantitative aspects through formal spatio-temporal verification.