The Evolving Philosophers Problem: Dynamic Change Management
IEEE Transactions on Software Engineering
Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
The B-book: assigning programs to meanings
The B-book: assigning programs to meanings
Using weaves for software construction and analysis
ICSE '91 Proceedings of the 13th international conference on Software engineering
Modelling systems: practical tools and techniques in software development
Modelling systems: practical tools and techniques in software development
Architecture-based runtime software evolution
Proceedings of the 20th international conference on Software engineering
Collaboration and composition: issues for a second generation process language
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Communicating and mobile systems: the &pgr;-calculus
Communicating and mobile systems: the &pgr;-calculus
A compliant persistent architecture
Software—Practice & Experience - Persistent object systems
Specification and development of interactive systems: focus on streams, interfaces, and refinement
Specification and development of interactive systems: focus on streams, interfaces, and refinement
Exploiting architectural design knowledge to support self-repairing systems
SEKE '02 Proceedings of the 14th international conference on Software engineering and knowledge engineering
Laws of Software Evolution Revisited
EWSPT '96 Proceedings of the 5th European Workshop on Software Process Technology
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
Analysing Dynamic Change in Software Architectures: A Case Study
CDS '98 Proceedings of the International Conference on Configurable Distributed Systems
Evolution in Open Source Software: A Case Study
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
ACM SIGSOFT Software Engineering Notes
Support for Evolving Software Architectures in the ArchWare ADL
WICSA '04 Proceedings of the Fourth Working IEEE/IFIP Conference on Software Architecture
ACM SIGSOFT Software Engineering Notes
Support for feedback and change in self-adaptive systems
WOSS '04 Proceedings of the 1st ACM SIGSOFT workshop on Self-managed systems
A software architecture approach for structuring autonomic systems
DEAS '05 Proceedings of the 2005 workshop on Design and evolution of autonomic application software
ACM SIGSOFT Software Engineering Notes
Model-based development of dynamically adaptive software
Proceedings of the 28th international conference on Software engineering
A framework for supporting dynamic systems co-evolution
Automated Software Engineering
EWSA'05 Proceedings of the 2nd European conference on Software Architecture
Evolution on-the-fly with paradigm
COORDINATION'06 Proceedings of the 8th international conference on Coordination Models and Languages
Improving Architecture-Based Self-Adaptation through Resource Prediction
Software Engineering for Self-Adaptive Systems
Open service-oriented architecture for transport protocols
International Journal of Internet Protocol Technology
Stitch: A language for architecture-based self-adaptation
Journal of Systems and Software
Hi-index | 0.00 |
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.