The Evolving Philosophers Problem: Dynamic Change Management
IEEE Transactions on Software Engineering
Design theory and computer science: processes and methodology of computer systems design
Design theory and computer science: processes and methodology of computer systems design
Beyond objects: a software design paradigm based on process control
ACM SIGSOFT Software Engineering Notes
Using weaves for software construction and analysis
ICSE '91 Proceedings of the 13th international conference on Software engineering
Software—Practice & Experience
Architecture-based runtime software evolution
Proceedings of the 20th international conference on Software engineering
Extreme programming explained: embrace change
Extreme programming explained: embrace change
A compliant persistent architecture
Software—Practice & Experience - Persistent object systems
Program development by stepwise refinement
Communications of the ACM
Two case studies of open source software development: Apache and Mozilla
ACM Transactions on Software Engineering and Methodology (TOSEM)
Exploiting architectural design knowledge to support self-repairing systems
SEKE '02 Proceedings of the 14th international conference on Software engineering and knowledge engineering
An Architecture-Based Approach to Self-Adaptive Software
IEEE Intelligent Systems
IEEE Intelligent Systems
The Vision of Autonomic Computing
Computer
Laws of Software Evolution Revisited
EWSPT '96 Proceedings of the 5th European Workshop on Software Process Technology
Analysing Dynamic Change in Software Architectures: A Case Study
CDS '98 Proceedings of the International Conference on Configurable Distributed Systems
The Viable System Architecture
HICSS '01 Proceedings of the 34th Annual Hawaii International Conference on System Sciences ( HICSS-34)-Volume 9 - Volume 9
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
Support for feedback and change in self-adaptive systems
WOSS '04 Proceedings of the 1st ACM SIGSOFT workshop on Self-managed systems
A survey of self-management in dynamic software architecture specifications
WOSS '04 Proceedings of the 1st ACM SIGSOFT workshop on Self-managed systems
An Active-Architecture Approach to COTS Integration
IEEE Software
A software architecture approach for structuring autonomic systems
DEAS '05 Proceedings of the 2005 workshop on Design and evolution of autonomic application software
LISP 1.5 Programmer's Manual
Software Engineering: Report of a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7-11 Oct. 1968, Brussels, Scientific Affairs Division, NATO
Model-based development of dynamically adaptive software
Proceedings of the 28th international conference on Software engineering
Coordination systems in role-based adaptive software
COORDINATION'05 Proceedings of the 7th international conference on Coordination Models and Languages
Evolution on-the-fly with paradigm
COORDINATION'06 Proceedings of the 8th international conference on Coordination Models and Languages
Managing Dynamic Evolution of Architectural Types
ECSA '08 Proceedings of the 2nd European conference on Software Architecture
Formalizing Adaptation On-the-Fly
Electronic Notes in Theoretical Computer Science (ENTCS)
Elements of self-adaptive systems: a decentralized architectural perspective
SOAR'09 Proceedings of the First international conference on Self-organizing architectures
Evaluating the impacts of dynamic reconfiguration on the QoS of running systems
Journal of Systems and Software
Incremental design: programming with holes and evolvers
Dependable and Historic Computing
An active architecture approach to dynamic systems co-evolution
ECSA'07 Proceedings of the First European conference on Software Architecture
On self-adaptation in systems-of-systems
Proceedings of the First International Workshop on Software Engineering for Systems-of-Systems
Hi-index | 0.00 |
Businesses and their supporting software evolve to accommodate the constant revision and re-negotiation of commercial goals, and to intercept the potential of new technology. We have adopted the term co-evolution to describe the concept of the business and the software evolving sympathetically, but at potentially different rates. More generally, we extend co-evolution to accommodate wide-informatics systems, that are assembled from parts that co-evolve with each other and their environment, and whose behavior is potentially emergent. 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 expected and unexpected 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, peer-to-peer routing systems, control systems, autonomic systems, and pervasive computing applications.The contribution of this paper comprises: a study of the intrinsic nature of dynamic co-evolving systems; the derivation of a set of intrinsic requirements; a description of a model and a set of technologies, new and extant, to meet these intrinsic requirements; and illustrations of how these technologies may be implemented within an architecture description language (ArchWare ADL) and a conventional programming language (Java). The model and technologies address three topics: structuring for dynamic co-evolution, incremental design, and adapting dynamic co-evolving systems. The combination yields a framework that can describe the system's specification, the executing software and the reflective evolutionary mechanisms within a single computational domain in which all three may evolve in tandem.