Skip to content

Simulation Scenario

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

A scenario defines which issues are injected to which elements of the architecture in each simulation round. Thus, it specifies the simulation. A simulation round consists of three steps:

  1. injecting issues into the model and thus to the architecture
  2. running the adaptation engine to perform self-adaptation to handle these issues
  3. validating the self-adaptation and the model

Thus, a simulation scenario defines the first step of each simulation round. In each simulation round, the simulator consults the strategy to obtain a list of injections that should be performed in this round. A single injection defines the Injector (and thus, the issue) to be used as well as the target architectural element in the CompArch model to which the issue should be injected. After obtaining the list of designated injections from the scenario, the simulator executes the injectors on the corresponding target elements and thus performs the issue injections.

A scenario is defined by implementing the interface de.mdelab.simulator.Scenario. It can be deterministic or may contain probabilistic/random injections. Deterministic scenarios are needed when repeating experiments for evaluations or when testing the adaptation engine.

The example solutions provide scenarios for initial simulations.