Chapter

Software Engineering for Self-Adaptive Systems

Volume 5525 of the series Lecture Notes in Computer Science pp 48-70

Engineering Self-Adaptive Systems through Feedback Loops

  • Yuriy BrunAffiliated withUniversity of Southern California
  • , Giovanna Di Marzo SerugendoAffiliated withBirkbeck, University of London
  • , Cristina GacekAffiliated withUniversity of Newcastle upon Tyne
  • , Holger GieseAffiliated withHasso Plattner Institute at the University of Potsdam
  • , Holger KienleAffiliated withUniversity of Victoria
  • , Marin LitoiuAffiliated withYork University and IBM Canada Ltd.
  • , Hausi MüllerAffiliated withUniversity of Victoria
  • , Mauro PezzèAffiliated withUniversity of Milano Bicocca, Italy and University of Lugano
  • , Mary ShawAffiliated withCarnegie Mellon University

* Final gross prices may vary according to local VAT.

Get Access

Abstract

To deal with the increasing complexity of software systems and uncertainty of their environments, software engineers have turned to self-adaptivity. Self-adaptive systems are capable of dealing with a continuously changing environment and emerging requirements that may be unknown at design-time. However, building such systems cost-effectively and in a predictable manner is a major engineering challenge. In this paper, we explore the state-of-the-art in engineering self-adaptive systems and identify potential improvements in the design process.

Our most important finding is that in designing self-adaptive systems, the feedback loops that control self-adaptation must become first-class entities. We explore feedback loops from the perspective of control engineering and within existing self-adaptive systems in nature and biology. Finally, we identify the critical challenges our community must address to enable systematic and well-organized engineering of self-adaptive and self-managing software systems.