Skip to content

Example Solutions

thomas-vogel edited this page Jan 30, 2018 · 4 revisions

We provide example solutions of adaptation engines for self-healing and self-optimizing mRUBiS. These solutions can be obtained as Eclipse examples.

Getting the Example Solutions

In Eclipse: File > New > Example. This opens the following dialog where the examples can be obtained as Eclipse projects.

Example Solutions

Description of the Example solutions

The mRUBiS Self-Healing Example contains three different adaptation engines:

  1. A monolithic state-based feedback loop that processes the CompArch model in batch mode to realize self-adaptation (see StateBasedFeedbackLoop.java).
  2. A state-based feedback loop decomposed into the four MAPE activities that analyze the CompArch model in batch mode and that use annotations in the model to exchange knowledge with each other to realize self-adaptation (see StateBasedMapeFeedbackLoop.java).
  3. An event-based feedback loop that use event-condition-action rules to process the CompArch model and to realize self-adaptation (see ECAFeedbackLoop.java).

The mRUBiS Self-Optimization Example contains one adaptation engine:

  1. An event-based feedback loop that is decomposed into four MAPE activities that analyze the CompArch model based on change events and that use annotations in the model to exchange knowledge with each other to realize self-adaptation (see EventBasedMapeFeedbackLoop.java).

Running the Example Solutions

Each solution provides a main method in the corresponding class (see referenced classes in the previous section) to run the exemplar (as described here) and the solution in Eclipse. The simulation results are stored in the folder results of the project (refresh the folder in Eclipse after the simulation to see the created files containing the results).

All solutions are realized with plain Java to avoid any dependency to other tools, frameworks, and libraries. However, mRUBiS allows developers to use any EMF-compatible technology to process the architectural runtime model.