Skip to content

Utility Function

thomas-vogel edited this page Jan 29, 2018 · 5 revisions

To evaluate solutions for self-adaptation, we consider among others the utility of the adaptable software system. For this purpose, a utility function is required that computes the utility of a system based on the architectural CompArch model of this system.

Developers provide their individually utility function by implementing the interface de.mdelab.simulator.UtilityFunction.

A generic utility function is not meaningful since the utility of a system does not only depend on the architecture described in a CompArch model but also on the user-defined issues and adaptation strategies. Different issues that exist in the system typically decrease the utility to a different degree while applying different adaptation strategies increases the utility to a different degree. Thus, the utility cannot be generically computed as the computation requires knowledge about the user-defined issues and adaptation strategies.

For the self-healing and self-optimization case studies of mRUBiS, we provide corresponding utility functions that are specific to mRUBiS.