mRUBiS: An Exemplar for Model-Based Architectural Self-Healing and Self-Optimization
by Thomas Vogel
Self-adaptive software systems are often structured into an adaptation engine that manages an adaptable software by operating on a runtime model that represents the architecture of the software (model-based architectural self-adaptation). Despite the popularity of such approaches, existing exemplars provide application programming interfaces but no runtime model to develop adaptation engines. Consequently, there does not exist any exemplar that supports developing, evaluating, and comparing model-based self-adaptation off the shelf. Therefore, we present mRUBiS, 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 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. For this purpose, the exemplar provides two case studies of self-healing and self-optimization. Finally, mRUBiS allows developers to explore variants of adaptation engines (e.g., event-driven self-adaptation) and to evaluate the effectiveness, efficiency, and scalability of the engines.
Download the mRUBiS artifact and paper from the Dagstuhl Artifacts Series:
The latest version of mRUBiS artifact can be loaded down from GitHub (instructions to install mRUBiS through an Eclipse update site are provided there -see the wiki), and a preprint of the related scholarly paper published at SEAMS'18 can be found here.