A Formal Approach to Enforcing Consistency in Self-adaptive Systems

The ability of systems to adapt is increasingly seen as a necessary underlying capability for modern software systems. The resulting self-adaptive systems are not only supposed to cope with changes, but must also preserve their consistency. To deal with such challenges in a systematic way, the design of self-adaptive systems needs to be put on a formal basis. In this paper, we argue for the benefits of a formal yet extensible approach to behavioural adaptations of component-based system architectures. This approach provides the usage of alternative adaptation processes rather than being limited to a single one. The application of Coloured Petri Nets for modelling and analysing the adaptation processes proves to be useful to trust consistency preservation.

[1]  Betty H. C. Cheng,et al.  Adding Safeness to Dynamic Adaptation Techniques , 2004 .

[2]  Jeff Magee,et al.  Towards robust self-managed systems , 2008 .

[3]  Jeff Magee,et al.  The Evolving Philosophers Problem: Dynamic Change Management , 1990, IEEE Trans. Software Eng..

[4]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[5]  Khalil Drira,et al.  Orchestrating Safe Behavioural Adaptations of Component-Based Systems , 2010, 2010 Sixth International Conference on Autonomic and Autonomous Systems.

[6]  Holger Giese,et al.  Modeling of correct self-adaptive systems: a graph transformation system based approach , 2008, CSTST.

[7]  Miguel Alexandre Wermelinger Specification of software architecture reconfiguration , 1999 .

[8]  Lars Michael Kristensen,et al.  Coloured Petri Nets and CPN Tools for modelling and validation of concurrent systems , 2007, International Journal on Software Tools for Technology Transfer.

[9]  Peyman Oreizy,et al.  Architecture-based runtime software evolution , 1998, Proceedings of the 20th International Conference on Software Engineering.

[10]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[11]  Michel Wermelinger,et al.  Algebraic software architecture reconfiguration , 1999, ESEC/FSE-7.

[12]  Ji Zhang Adding safeness to dynamic adaptation techniques , 2004, ICSE 2004.

[13]  Jürgen Dingel,et al.  A survey of self-management in dynamic software architecture specifications , 2004, WOSS '04.

[14]  Ji Zhang,et al.  Using temporal logic to specify adaptive program semantics , 2006, J. Syst. Softw..

[15]  Andreas Polze,et al.  ReDAC -- Dynamic Reconfiguration of Distributed Component-Based Applications with Cyclic Dependencies , 2008, 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC).