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. Representatives of the SEAMS Steering Committee will then engage with you to have the information added to this site.
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.