An Architecture-oriented Mechanism for Self-adaptation of Software Systems

Yu Chun,Ma Qian,Ma Xiao-Xing,Lü Jian
DOI: https://doi.org/10.3321/j.issn:0469-5097.2006.02.002
2006-01-01
Abstract:With the development of the object-oriented technology and the component technology,the software system becomes larger and more complex.Also the ambience of the software system and users' requirements are changing all the time.So the overhead for managing and maintaining the software system keeps increasing.To reduce the costs,software systems should be able to dynamically adapt themselves to the changing environment and user requirements to keep their service satisfactory.During the past decade,many adaptation systems have been proposed.But those systems almost focus on a particular application domain and cannot be reused.A general solution of self-adaptation should be brought out.In this paper an architecture-oriented mechanism for the self-adaptation of software systems is proposed.This self-adaptation mechanism is an external self-adaptation,so the adaptation component is separated from the computing component.Under this approach a runtime architecture object is built-in the final implementation.The adaptation trigger is associated to the break of the constraints defined on the architecture object,the adaptation strategy is decided according to the object and the adaptation behavior is implemented in the object.Also the architecture object can have subclasses to support the evolution.Besides,a three-level monitor(agent-gauge-monitor) is designed to make the adaptation effective and efficient.The first level monitor is a mobile agent that can move to the remote nodes to monitor the data and it also can move with some function to resume at remote nodes.Gauge is the second level monitor and it can dispose the data sent by the agent and store them as architecture attributes.The third level is monitor which can analyze the attributes in gauges and throw out events when the constraints are broken.Using this monitor infrastructure the interested data can be collected correctly and in time in the distributed environment.Two different triggering facilities are also provided for different users.One triggering facility is event-rule-action which needs much interference of users.The other facility is invariant-strategy and using this facility users only need to give an invariant and the load of the user is low.The mechanism is not designed as a specific solution for any particular application domain or architecture style,but a general and reusable framework for a broad rage of software systems.
What problem does this paper attempt to address?