Abstract
Self-adaptive or autonomic systems are computing systems which are able to manage/adapt themselves at runtime according to certain high-level goals. It is appropriate to equip software systems with adaptation capabilities in order to optimize runtime properties, such as performance, availability, or operating costs. Architectural models are often used to guide system adaptation. When engineering such systems, a number of cross-cutting design decisions, e.g. instrumentation, targeting at a system's later operation/maintenance phase must and can be considered during early design stages. In this paper, we discuss some of these required design decisions for adaptive software systems and how models can help in engineering and operating these systems. The discussion is based on our experiences, including those gathered from evaluating research results in industrial settings. To illustrate the discussion, we use our selfadaptationapproach SLAstic to describe how we address the discussed issues. SLAstic aims to improve a software system's resource efficiency by performing architecture-based runtime reconfigurations that adapt the system capacity to varying workloads, for instance to decrease the operating costs.
Users
Please
log in to take part in the discussion (add own reviews or comments).