由于环境变化的不确定性和不可预见性,开放环境下自适应系统的开发面临着以下两方面挑战:首先软件开发人员很难在设计阶段清晰地预测环境中各种可能的变化并准确地定义相应的自适应需求,其次系统大量的自适应决策需要由系统自身在运行时来完成.针对上述挑战,文中提出了一种基于软件Agent和组织抽象的方法来支持此类系统的开发和运行.该方法采用社会组织的思想来抽象自适应系统,描述和分析系统的自适应特征;设计了基于角色动态绑定的自适应运行机制,并借助于增强学习的手段来实现系统的在线自适应决策以应对不可预见的变化.论文介绍了基于学习和动态绑定机制的在线自适应决策算法,提出了支持开放环境下自适应软件系统的工程化开发手段,包括自适应软件模型和构造框架、结构化的过程,开发了相应的支撑软件环境SADE+,并进行了案例分析以展示方法的有效性.
Due to the uncertainty and unpredictability of environment changes, it is a great challenge to develop self-adaptive systems in open environment. First, it is difficult for developers to clearly predict various environment changes and precisely define self-adaptation requirements at design- time. Second, many of self-adaptation decisions should be made by system at run-time. In order to deal with the problems, the paper presents an approach that is based on software agent technology and organization metaphor to support the development and running of such systems. Our approach enables developer to describe self-adaptive systems and investigate self-adaptation according to the high-level organization abstractions. A self-adaptation mechanism called role dynamic binding is designed and on-line self-adaptation is achieved by introducing enforcement learning. The paper details the on-line selbadaptation decision algorithm that integrates dynamic binding mechanism with enforcement learning together. Especially, a general-purpose andsystematics software engineering solution to developing such system is provided, including self- adaptive software model, implementation framework, structured process and supporting software environment SADE+. A case is studied to illustrate our approach and validate its effectiveness.