Software Engineering for Adaptive and Self-Managing Systems, Date: 2010/05/03 - 2010/05/04, Location: Cape Town, South Africa
Software Engineering for Adaptive and Self-Managing Systems
Author:
Abstract:
Self-adaptability has been proposed as an effective approach to deal with the increasing complexity, distribution, and dynamicity of modern software systems. Although noteworthy successes have been achieved in many fronts, there is a lack of understanding on how to engineer distributed self-adaptive software systems in which central control is not possible. In this paper, we first describe the key attributes of decentralized self-adaptive systems that set them apart from their centralized counterparts. We illustrate these attributes using two case studies on decentralized self-adaptation. The first case study is an instance of a self-healing system dealing with automated traffic management control. The second case study is an instance of a self-optimizing system that improves the quality of service of a decentralized software system through redeployment of its software components. We generalize the lessons learned from our experiences in the form of a reference model. In light of this model, we present numerous challenges that forms the focus of future research in this area. © 2010 ACM.