Characterizing maintainability concerns in autonomic element design
Qin Zhu, Lei Lin, Holger M. Kienle, Hausi A. Müller · 2008
Autonomic computing has become more prevalent in recent years for its vision of developing applications with self-adaptive and self-managing behavior. Due to the inherent complexity of such applications and the nature of the built-in closed-loop feedback control, maintainability issues of autonomic systems are emerging as significant concerns in autonomic system designs. This paper identifies and categorizes types of common forms of autonomic element patterns and reveals the inherent relationships among them as well as their particular maintainability concerns. The key to maintainability of self-managing systems is their embedded control loops. Good software engineering practice calls for making the control loops as independent as possible to achieve loose coupling and separate concerns. However, typical self-managing systems solutions feature arrangements of interdependent, collaborative autonomic elements. This paper outlines selected autonomic element patterns derived from requirements goal models and attribute-based architectural styles for self-adaptive systems and then identifies their particular maintainability concerns based on the characteristics of the solutionpsilas control loops. Maintainability issues for the various autonomic element patterns are illustrated using a book store example.