摘要
在动态变化的分布式环境中,为了保证系统的正常运行,软件系统应能够根据环境的变化、系统运行错误及需求的变更调整自身的行为,即具有一定的自适应能力.提出一种面向体系结构的自适应机制,该机制采用了内置运行时体系结构作为驱动自适应的因素、选择自适应动作的依据以及实施自适应的载体;设计了适合分布式环境特点的三层结构的监控设施,提高了监控的效率和有效性;同时配备了满足不同用户需求的两种触发设施.该自适应机制不隶属于某个或某种运行系统,可为各种应用的运行系统添加自适应能力提供一个比较一般的、可重用的自适应框架.
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 selfadaptation 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.
出处
《南京大学学报(自然科学版)》
CAS
CSCD
北大核心
2006年第2期120-130,共11页
Journal of Nanjing University(Natural Science)
基金
国家自然科学基金(60273034
60233010
6040314)
"863"计划(2005AA113160
2005AA113030
2005AA119010
2004AA112090)
"973"计划(2002CB312002)