Dependable Self-Organising Software Architectures - An Approach for Self-Managing Systems

We argue that principles from the design of dependable software, especially separation of concerns and the use of formality, can be applied beneficially in the construction of self-managing systems. We illustrate this approach by presenting an experimental architecture for dynamic and resilient computer-based systems which utilises component metadata to govern reconfigurations in accordance with formally stated policies. Initial experiments with the architecture are described. We argue that the architecture describes a self-organising system and, further, provides a basis for self-managing systems.

[1]  Noshir Contractor,et al.  Theoretical frameworks for the study of structuring processes in group decision support systems: adaptive structuration theory and self-organizing systems theory , 1993 .

[2]  Jeff Magee,et al.  Self-organising software architectures for distributed systems , 2002, WOSS '02.

[3]  J. Davenport Editor , 1960 .

[4]  Martin Glinz,et al.  The CASA Approach to Autonomic Applications , 2005 .

[5]  Algirdas Avizienis,et al.  The N-Version Approach to Fault-Tolerant Software , 1985, IEEE Transactions on Software Engineering.

[6]  Sagar Chaki,et al.  Verification of Evolving Software , 2004 .

[7]  Carl E. Landwehr,et al.  Basic concepts and taxonomy of dependable and secure computing , 2004, IEEE Transactions on Dependable and Secure Computing.

[8]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[9]  Cristiano Castelfranchi,et al.  The theory of social functions: challenges for computational social science and multi-agent learning , 2001, Cognitive Systems Research.

[10]  P. Glansdorff,et al.  Thermodynamic theory of structure, stability and fluctuations , 1971 .

[11]  Paul Watson,et al.  Dependability-explicit Computing in Service-oriented Architectures , 2004 .

[12]  Brian Randell,et al.  System structure for software fault tolerance , 1975, IEEE Transactions on Software Engineering.

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

[14]  Jeannette M. Wing,et al.  Specification matching of software components , 1997 .

[15]  Scott Nettles,et al.  Dynamic software updating , 2001, PLDI '01.

[16]  Salim Hariri,et al.  A component-based programming model for autonomic applications , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[17]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[18]  T. S. E. Maibaum,et al.  A rely-guarantee discipline for open distributed systems design , 2000, Inf. Process. Lett..

[19]  Manuel Oriol,et al.  Disconnected service architecture for unanticipated run-time evolution of code , 2004, IEE Proc. Softw..

[20]  Giovanna Di Marzo Serugendo,et al.  Semantic Service Oriented Architecture , 2004 .

[21]  Hermann Kopetz,et al.  Fault tolerance, principles and practice , 1990 .

[22]  Brian Randell,et al.  Dependable pervasive systems , 2004, Proceedings of the 23rd IEEE International Symposium on Reliable Distributed Systems, 2004..

[23]  Marie-Pierre Gleizes,et al.  Self-Organisation and Emergence in MAS: An Overview , 2006, Informatica.

[24]  Giovanna Di Marzo Serugendo,et al.  A Social Semantic Infrastructure for Decentralised Systems Based on Specification-Carrying Code and Trust , 2005 .