Hasso-Plattner-InstitutSDG am HPI
Hasso-Plattner-InstitutDSG am HPI

Sona Ghahremani

"Incremental Self-Adaptation of Dynamic Architectures Attaining Optimality and Scalability"

The landscape of software self-adaptation is shaped in accordance with the need tocost-effectively achieve and maintain (software) quality at runtime and in the faceof dynamic operation conditions. Optimization-based solutions perform an exhaus-tive search in the adaptation space, thus they may provide quality guarantees. How-ever, these solutions render the attainment of optimal adaptation plans time-intensive,thereby hindering scalability. Conversely, deterministic rule-based solutions yield onlysub-optimal adaptation decisions, as they are typically bound by design-time assump-tions, yet they offer efficient processing and implementation, readability, expressivityof individual rules supporting early verification. Addressing the quality-cost trade-offrequires solutions that simultaneously exhibit the scalability and cost-efficiency of rule-based policy formalism and the optimality of optimization-based policy formalism asexplicit artifacts for adaptation. Utility functions, i.e., high-level specifications that cap-ture system objectives, support the explicit treatment of quality-cost trade-off. Never-theless, non-linearities, complex dynamic architectures, black-box models, and runtimeuncertainty that makes the prior knowledge obsolete are a few of the sources of uncer-tainty and subjectivity that render the elicitation of utility non-trivial.

This thesis proposes a twofold solution for incremental self-adaptation of dynamicarchitectures. First, we introduce Venus, a solution that combines in its design a rule-and an optimization-based formalism enabling optimal and scalable adaptation of dy-namic architectures. Venusincorporates rule-like constructs and relies on utility theoryfor decision-making. Using a graph-based representation of the architecture, Venuscaptures rules as graph patterns that represent architectural fragments, thus enablingruntime extensibility and, in turn, support for dynamic architectures; the architectureis evaluated by assigning utility values to fragments; pattern-based definition of rulesand utility enables incremental computation of changes on the utility that result fromrule executions, rather than evaluating the complete architecture, which supports scal-ability. Second, we introduce HypeZon, a hybrid solution for runtime coordination ofmultiple off-the-shelf adaptation policies, which typically offer only partial satisfactionof the quality and cost requirements. Realized based on meta-self-aware architectures,HypeZoncomplements Venusby re-using existing policies at runtime for balancing thequality-cost trade-off.

The twofold solution of this thesis is integrated in an adaptation engine that lever-ages state- and event-based principles for incremental execution, therefore, is scalablefor large and dynamic software architectures with growing size and complexity. Theutility elicitation challenge is resolved by defining a methodology to train utility-changeprediction models. The thesis addresses the quality-cost trade-off in adaptation of dy-namic software architectures via design-time combination (Venus) and runtime coor-dination (HypeZon) of rule- and optimization-based policy formalisms, while offeringsupporting mechanisms for optimal, cost-effective, scalable, and robust adaptation. Thesolutions are evaluated according to a methodology that is obtained based on our sys-tematic literature review of evaluation in self-healing systems; the applicability andeffectiveness of the contributions are demonstrated to go beyond the state-of-the-art incoverage of a wide spectrum of the problem space for software self-adaptation.