An approach to genuine dynamic linking
Software—Practice & Experience
Dynamic binding in strongly typed programming languages
Journal of Systems and Software
Foundations for the study of software architecture
ACM SIGSOFT Software Engineering Notes
Using style to understand descriptions of software architecture
SIGSOFT '93 Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering
ArchJava: connecting software architecture to implementation
Proceedings of the 24th International Conference on Software Engineering
An infrastructure for the rapid development of XML-based architecture description languages
Proceedings of the 24th International Conference on Software Engineering
Model-based adaptation for self-healing systems
WOSS '02 Proceedings of the first workshop on Self-healing systems
An Architecture-Based Approach to Self-Adaptive Software
IEEE Intelligent Systems
The Vision of Autonomic Computing
Computer
Supporting Unanticipated Dynamic Adaptation of Application Behaviour
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
The K-Component Architecture Meta-model for Self-Adaptive Software
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Secure Dynamic Reconfiguration of Scalable CORBA Systems with Mobile Agents
ASA/MA 2000 Proceedings of the Second International Symposium on Agent Systems and Applications and Fourth International Symposium on Mobile Agents
Rule-Based Strategic Reflection: Observing and Modifying Behavior at the Architectural Level
ASE '99 Proceedings of the 14th IEEE international conference on Automated software engineering
2K: A Distributed Operating System for Dynamic Heterogeneous Environments
HPDC '00 Proceedings of the 9th IEEE International Symposium on High Performance Distributed Computing
Computer
The Design and Implementation of Open ORB 2
IEEE Distributed Systems Online
Increasing system dependability through architecture-based self-repair
Architecting dependable systems
Mobile agents for network management
IEEE Communications Surveys & Tutorials
Hi-index | 0.00 |
Increasingly, software are required to be ready to adapt itself to the changing environment caused by a wide range of maintenance, evolution and operation problems. Furthermore, in large complex distributed systems and continuous running systems, the traditional approaches to bringing about change require that the system be taken offline temporarily, which is often undesirable due to requirements for high availability. To address this new kind of capability, dynamic software adaptation, which refers to software changes in both structure and behavior without bring it down, is proposed.In this paper, we explore an architecture-based mobile agent approach to dynamic software adaptation. Our goal is to automate the software adaptation on the fly on the basis of explicating and reasoning about architectural knowledge about the running system. For that, we introduce the dynamic software architecture, which means the architecture itself can also be introspected and altered at runtime, to guide and control the adaptation. We use the architectural reflection to observe and control the system architecture, while use the architectural style to ensure the consistency and correctness of the architecture reconfiguration. To handle the adaptation of the running system, mobile agents, which is well suited for complex management issues, is employed. Mobile agents carry self-contained mobile code and act upon running components.The usage of meta-architecture and the mobile agents not only forms an adaptation feedback loop onto the running system, it also separates the concerns among the architectural model, the target system and the facilities use for adaptation. It will simplify the developing, deploying and maintaining of the system, while pose a good basis for enabling the reuse of the adaptation facilities.