将Agent技术应用到软件演化过程中,针对开放多变环境下软件构建与演化特征,研究目标系统在动态运行过程中以软件集成方式进行自适应动态演化的相关模型、机制、策略和算法。主要内容包括(1)适用于动态集成演化过程的具有自适应性特征的Agent模型及组织模式。(2)可触发软件动态演化的用户需求变化和环境变化两类因素建模方法。(3)动态演化过程中Agent间通信协作机制、演化控制策略及动态演化模式。本项目重点研究扩充经典Agent模型使其提供动态性和自适应性方面支持,基于该模型提出一种Agent语义划分模式和动态协作机制;改进经典合同网协议及其招投标策略,研究实现基于信息中介服务的合同网协议及其相关算法,以支持Agent协作关系的动态更改;给出一种基于规则分发的自主协作控制策略,支持两种动态演化模式,实现面向功能层- - 协作层- - 领域层不同层次的动态演化。本项目的可行性已在前期工作中得到充分验证。
Software Evolution;Software Integration;Agent technology;dynamic;self-adaptability
动态开放环境中的软件需面对多变计算环境和用户需求。如何使软件在运行中通过动态演化适应变化,是一个有重要意义却相对困难的研究问题。本项目将Agent技术用于软件动态演化中,针对动态开放环境中软件演化特征,系统研究了基于Agent的软件自适应动态集成演化方法的理论与关键问题,并开发了相应的软件动态演化支撑环境,完成了本项目预定目标。本项目在如下方面开展了研究并取得成果1)面向软件系统的动态演化需求,建立了基于Agent的软件自适应动态集成演化框架模型与过程模型,对应开发完成了基于Agent的软件自适应动态演化支撑环境。2)以集成演化规则建模用户演化需求,提出了集成演化规则描述语言DCESL,并以演化事件形式化建模了环境变化。3)建立了描述集成演化单元共有特性的Agent元模型,并实现了基于强化学习的Agent共享学习策略,进一步提高了Agent的智能性和适应性;设计了分离软件计算与协作语义、基于联邦结构的Agent组织模式;提出了基于OWL-S的Agent协作关系描述语言,实现对协作关系的规范建模;给出了支持动态演化的软件层次化封装结构和封装方法。4)实现了适用于自适应动态演化的多Agent通信语言,建立了支持消息传递和黑板通信的多Agent通信体系结构;提出了基于改进合同网协议的Agent协作策略,有效降低了合同网协商过程所需的通信开销。5)实现了“设计-运行”两段式演化控制逻辑检查验证策略,保证了演化规则的正确性和整体演化过程的可靠性;实现了基于“规则分发—自主协作”的动态演化控制策略,保证了软件在运行中对演化逻辑的更新。6)实现了软件内外部环境变化感知机制;针对不同演化需求,分别建立了基于知识规则的Agent自适应策略、用户需求与环境变化驱动的动态演化机制、面向领域层演化需求的自适应策略等。相关研究成果在国际期刊和会议上发表(含收录)论文31篇,包括INFORMATION-AN INTERNATIONAL INTERDISCIPLINARY JOURNAL等计算机与人工智能领域国际知名期刊,中国科学、软件学报等国内一级学报16篇、COMPSAC(CCF C类)等计算机领域国际主流会议15篇;合作出版专著1部;申请国家发明专利4项、软件著作权5项;培养研究生26名。本项目研究工作为利用Agent 技术研究软件动态演化的研究提供了支持,具有一定理论意义和应用价值。