A mobile agent approach to dynamic architecture-based software adaptation

  • Authors:
  • Qun Yang;Xianchun Yang;Manwu Xu

  • Affiliations:
  • Nanjing University, Nanjing, China;Nanjing University, Nanjing, China;Nanjing University, Nanjing, China

  • Venue:
  • ACM SIGSOFT Software Engineering Notes
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.