针对分布式软件系统在动态演化中面临的原有软件单元难以重用、忽视软件内部运行状态引发的演化需求等问题,借助智能体(agent)具有的环境适应性、变化敏感性等特征,提出了一种基于智能体技术的软件自适应动态演化机制.通过将软件单元封装为Agent,并定义单元间的演化规则,使演化机制重用原有软件单元.通过一种基于数据推送的动态环境感知方法实现Agent间协作关系调整,同时满足来自内外部环境引发的动态演化需求.通过引入信息中介服务,实现了基于改进合同网的Agent协作策略,能够自适应地更替Agent,满足用户意愿变更引发的动态演化需求.依据演化机制在支撑环境中的运行情况及相关能力指标的分析,说明所提出的演化机制适用于动态复杂的分布式软件系统,是一种有效的软件自适应动态演化机制.
To tackle problems in the dynamic evolution of distributed software systems such as the difficulty in reusing the original software units and the neglect of evolution demand caused by internal running state, this paper proposes an agent-based software adaptive dynamic evolution mechanism, by means of the environmental adaptability, the sensitivity of changes, and other characteristics of agents. By packaging software units as agents and defining evolution rules among units, original units can be reused in such a framework. Using the dynamic environment awareness method based on data push, the collaborative relationships between agents can be adjusted, and thus the evolution requirements from both the external environment and the internal state are met. With the introduction of information intermediary services, the collaboration strategy of agents based on a modified contract net is implemented such that the agents can be changed adaptively and the evolution requirement from the users demand is satisfied. The operation performance of evolution mechanism in the environment and the analysis of the related capacity indexes demonsrate the proposed evolution mechanism is applicable to the dynamic and complex distributed software systems and is an effective software adaptive dynamic evolution mechanism.