unknown

Self-tuning of software systems through goal-based feedback control loop

Abstract

Quality requirements of a software system cannot be optimally met, especially when it is running in an uncertain and changing environment. In principle, a controller at runtime can monitor the change impact on quality requirements of the system, update the expectations and priorities from the environment, and take reasonable actions to improve the overall satisfaction. In practice, however, existing controllers are mostly designed for tuning low- level performance indicators rather than high-level requirements. By maintaining a live goal model to represent the runtime requirements and linking the overall satisfaction to an earned business value indicator as feedback, we propose a control-theoretic self-tuning method that can dynamically tune the preferences of different quality requirements, and can autonomously make the tradeoff decisions among different quality requirements through our preference-based goal reasoning. The reasoning result is involved to reconfigure the variation points of the goal model, and accordingly mapped to the system architecture reconfiguration. The effectiveness of our self-tuning method is evaluated by comparing the earned business value with the static and ad-hoc methods and analysing the self-tuning process

    Similar works