An active architecture approach to dynamic systems co-evolution

  • Authors:
  • Ron Morrison;Dharini Balasubramaniam;Flavio Oquendo;Brian Warboys;R. Mark Greenwood

  • Affiliations:
  • University of St Andrews, St Andrews, UK;University of St Andrews, St Andrews, UK;University of South Brittany-Valoria , Vannes Cedex, France;University of Manchester, Manchester, UK;University of Manchester, Manchester, UK

  • Venue:
  • ECSA'07 Proceedings of the First European conference on Software Architecture
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

The term co-evolution describes the symbiotic relationship between dynamically changing business environments and the software that supports them. Business changes create pressures on the software to evolve, and at the same time technology changes create pressures on the business to evolve. More generally, we are concerned with systems where it is neither economically nor technologically feasible to suspend the operation of the system while it is being evolved. Typically these are long-lived systems in which dynamic co-evolution, whereby a system evolves as part of its own execution in reaction to both predicted and emergent events, is the only feasible option for change. Examples of such systems include continuously running business process models, sensor nets, grid applications, self-adapting/tuning systems, routing systems, control systems, autonomic systems, and pervasive computing applications. Active architectures address both the structural and behavioural requirements of dynamic co-evolving software by modelling software architecture as part of the on-going computation, thereby allowing evolution during execution and formal checking that desired system properties are preserved through evolution. This invited paper presents results on active architectures from the Compliant System Architecture and ArchWare projects. We have designed and constructed the ArchWare-ADL, a formal, well-founded architecture description language, based on the higher-order typed &pi-calculus, which consists of a set of layers to address the requirements of active architectures. The ArchWare-ADL design principles, concepts and formal notations are presented together with its sophisticated reflective technologies for supporting active architectures and thereby dynamic co-evolution.