TY - JOUR
T1 - A Framework for Supporting Dynamic Systems Co-evolution
AU - Morrison, Ronald
AU - Balasubramaniam, Dharini
AU - Kirby, Graham Njal Cameron
AU - Mickan, K
AU - Warboys, B C W
AU - Greenwood, R M
AU - Robertson, I
AU - Snowdon, R
PY - 2007/9
Y1 - 2007/9
N2 - 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.
AB - 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.
KW - software evolution
KW - run-time evolution
KW - adaptive software
KW - incremental design
KW - co-evolution
KW - reflection
KW - ADAPTIVE SOFTWARE
KW - REFLECTION
KW - JAVA
UR - http://www.scopus.com/inward/record.url?scp=34548552583&partnerID=8YFLogxK
UR - http://www.springerlink.com/content/l4r1422x0417127x/
U2 - 10.1007/s10515-007-0011-7
DO - 10.1007/s10515-007-0011-7
M3 - Article
SN - 0928-8910
VL - 14
SP - 261
EP - 292
JO - Automated Software Engineering
JF - Automated Software Engineering
IS - 3
ER -