论文部分内容阅读
随着网络技术的持续发展,以及面向服务的计算、普适计算等新计算范型的不断涌现,Internet逐步发展成为新一代软件运行环境,“网构软件”的概念也应运而生。新的计算形态使得网构软件在构成实体、运行环境、开发方法等方面,具有明显区别于传统软件的基本特征。这组特征对软件在运行时刻观察环境、适应环境的能力提出了更高的要求。然而,现有的自适应软件构造方法并不能很好地直接应用于网构软件的构造,其主要问题包括网络环境的不稳定性造成的单点失效隐患、开放性和动态性对自适应机制提出的新的技术挑战等,这促使研究人员对在动态、开放、无控制中心的环境下构造自适应系统进行更深入的研究。
针对新计算环境的特点,一种应对上述技术挑战的可行途径是不再将运行系统的构成单元视为被动的受管对象,而是将其建模为具有主动能力的计算实体,这些实体能够通过观察运行时刻信息,主动地对自身实现进行调整,或是改变与其它实体的交互;继而,系统通过这些构成单元局部间的相互作用表现出整体性的自适应行为。沿着这一思路,本文对基于自主实体的自适应网构软件构造方法进行了探索性的研究。方案提出了一种支持自主行为的构件模型.ACT,设计了适用于Internet环境的自主策略,在此基础上给出了面向ACT构件的协同框架,并通过扩展现有的构件运行支撑平台,实现了对ACT构件的运行时刻支持。
在支持自主行为的构件模型方面,已有工作对自主行为的支持大多限定于某种特定的决策模型,缺少对Internet环境特征的系统分析与支持,因而,往往只适用于解决特定类型的问题。本文提出的ACT构件模型通过分离自主行为的抽象规约和具体的实现手段,使得构件能够采取多种决策机制实现自己的自主行为,具有较好的通用性和扩展性。
在自主决策技术方面,鉴于构件组装的动态适应性调整是网络环境下网构软件及其构件最主要的适应手段之一,本文设计了一种基于反馈学习的自主调整策略,将提供服务的构件的状态封装为可调整的知识,ACT构件通过对调用服务构件所得到的反馈信息的学习,实时动态估算服务构件的质量,并在此基础上选择最符合要求的构件参与组装。
在现有的支持自主行为的构件模型中,对于多个自主构件间如何进行协作的讨论较为有限。本文提出了一个适用于开放运行环境、规则驱动的协同框架,自主构件在参与到网构软件的协作中后,将自动得到对应的协同规则集,其中规约了构件应如何使用自身的自主能力参与构件之间的交互和协作。同时,本文给出了由基于单一视点集中编排的系统流程规约得到参与协作的分布式构件的局部协同规则的转换方法,从而将当前自顶向下的系统行为规约技术,与支持规则驱动及动态交互的分布式协同框架结合起来,提高了方案的可行性。
在对自适应网构软件的运行支撑方面,由于网构软件的行为是通过分布式的自主构件的局部行为和自主构件之间的交互行为体现出来的,因此,自适应网构软件的实现和运行支撑的核心实质上是自主构件的实现及支撑。对此,我们对已有的构件运行支撑平台进行了扩展,实现或集成了一系列用于支持构件自主行为的基础服务,并开发了相关的辅助工具,以支持ACT构件从图形化建模到部署、运行的自动化,从而提高了论文方案的实用性。