Inproceedings,

Engineering and Continuously Operating Self-Adaptive Software Systems: Required Design Decisions

, , and .
Design for Future 2009: Proceedings of the 1st Workshop of the GI Working Group ,,Long-Living Software Systems~(L2S2)'', volume 537 of CEUR Workshop Proceedings, page 52--63. (November 2009)

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.

Tags

Users

  • @andrevanhoorn

Comments and Reviews