  Many software systems have become too large and complex to be managed
efficiently by human administrators, particularly when they operate in
uncertain and dynamic environments and require frequent changes.
Requirements-driven adaptation techniques have been proposed to endow systems
with the necessary means to autonomously decide ways to satisfy their
requirements. However, many current approaches rely on general-purpose
languages, models and/or frameworks to design, develop and analyze autonomous
systems. Unfortunately, these tools are not tailored towards the
characteristics of adaptation problems in autonomous systems. In this paper, we
present Optimal by Design (ObD ), a framework for model-based
requirements-driven synthesis of optimal adaptation strategies for autonomous
systems. ObD proposes a model (and a language) for the high-level description
of the basic elements of self-adaptive systems, namely the system,
capabilities, requirements and environment. Based on those elements, a Markov
Decision Process (MDP) is constructed to compute the optimal strategy or the
most rewarding system behaviour. Furthermore, this defines a reflex controller
that can ensure timely responses to changes. One novel feature of the framework
is that it benefits both from goal-oriented techniques, developed for
requirement elicitation, refinement and analysis, and synthesis capabilities
and extensive research around MDPs, their extensions and tools. Our preliminary
evaluation results demonstrate the practicality and advantages of the
framework.
