N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
An Architecture-Based Approach to Self-Adaptive Software
IEEE Intelligent Systems
An Architecture and a Process for Implementing Distributed Collaborations
EDOC '02 Proceedings of the 6th International Enterprise Distributed Object Computing Conference
Specifying Distributed Software Architectures
Proceedings of the 5th European Software Engineering Conference
The many faces of publish/subscribe
ACM Computing Surveys (CSUR)
PAST: A Large-Scale, Persistent Peer-to-Peer Storage Utility
HOTOS '01 Proceedings of the Eighth Workshop on Hot Topics in Operating Systems
Using Architecture Models for Runtime Adaptability
IEEE Software
Model-driven development of component-based adaptive distributed applications
Proceedings of the 2008 ACM symposium on Applied computing
Software Engineering for Self-Adaptive Systems: A Research Roadmap
Software Engineering for Self-Adaptive Systems
Implementing a data distribution variant with a metamodel, some models and a transformation
DAIS'08 Proceedings of the 8th IFIP WG 6.1 international conference on Distributed applications and interoperable systems
Hi-index | 0.00 |
Architecture-based approaches for runtime evolution enable software systems to dynamically move between consistent architectural variants. Successful runtime evolution must enable the new, replacement variant to be initialized with the data of the replaced one. In distributed systems, however, the initialization is complex and may be time-consuming due to data transfers across sites. Identifying systems' components subject to change is then critical for planning evolution and reducing replacement actions, avoid unnecessary data transfers, and then, reduce downtime of system services. Addressing this issue, this paper presents an approach to runtime evolution of distributed applications. We present how a development process allows to 1) specify architectural variants of an application and 2) identify components subject to change and operations for transferring data managed by these components. Moreover, the design information is used at runtime to automatically plan evolution.