Usage evolution

Aus SDQ-Wiki

Overview

To be able to conduct performance predictions for a modelled software architecture one needs to specify the way users interact with the system; this information is described in so-called usage scenarios artefacts part of the Palladio Component Model. A usage scenario captures the necessary information about the work and the load that stresses the system under observation.

Since there is the need to conduct scalability or elasticity analyses about a self-adaptive software system there should exist a way to vary the workload over time; this is where the concept of Usage Evolution comes into play.

Usage Evolution models allow to vary usage scenario parameters like arrival rates, number of concurrent users or operation parameters over time. The following step-by-step example is extracted from the CloudScale Palladio Workshop [Link] and it should help you with the creation of an Usage Evolution model as well as with concepts related to it:

Usage Evolution Example

To create a usage evolution, one needs a normal usage scenario model (static), a Descartes Load Intensity Model (DLIM) model to characterize time-depending variations, and a Usage Evolution model that links the former two:

  • (1) Create a new DLIM model
    • Right-click at your project -> New -> Other... -> Descartes Load Intensity Model -> Descartes Load Intensity Model -> Next -> File Name: »default.dlim« -> Next ->
      • Only mark »Modify Seasonal Part« -> Next -> Only modify »Number of Peaks« to »1«, »Base Arrival Rate Level« to »1.0«, and »Select Seasonal Shape« to »SinTrend« as shown in the screenshot below -> Finish).
  • (2) You now created a DLIM model where you vary load intensity over time.
    • You can visualize the function by opening the »Load Intensity Plot« (Window -> Show View -> Other... -> Descartes Load Intensity Model -> Load Intensity Plot) and by opening your model in the default editor (double-click on your model if the editor is not already opened).
  • (3) Next, let us link this DLIM model to our existing usage model such that we vary the number of users from 1 to 10 until half of the simulation time is over and from 10 to 1 until simulation finishes.
    • Create a new Usage Evolution model (Right-click at your project -> New -> Other... -> CloudScale Diagrams -> ScaleDL Usage Evolution -> Next -> File Name: »default.usageevolution« -> Next -> Browse...
      • and select your pre-specified usage model (»/PalladioProject/default.usagemodel«) -> Next -> Browse...
      • and select your pre-specified DLIM model »/PalladioProject/default.dlim«) -> Finish).
  • (4) An editor opens that has everything needed pre-configured (see screenshot below). You may investigate the properties of the »Usage Initial« node to see how we linked DLIM and usage models. Per default, we created a »Load Evolution« for the »defaultUsageScenario« based on the »Sequence default« DLIM model, i.e., we vary the number of users within our open workload (our wizard creates such a configuration by default).

Other resources

Screencast: https://www.youtube.com/watch?v=k6EKqPyl2Jg