论文部分内容阅读
随着Internet应用日益广泛,软件系统面临的挑战越来越多。如何使软件系统在动态、异构的网络环境下具有自适应性逐渐成为一个重要的研究方向。Agent作为当前研究热点,其自治性、协同性以及智能性等特点为构建自适应性软件系统提供了技术基础。目前,基于Agent的自适应软件系统建模的研究工作都着重于需求建模框架的提出,而忽视了需求模型层与Agent层的映射关系,需求模型与Agent间仍需手工转换,使得基于Agent的自适应软件系统设计与开发不能形成一个完整体系。本文针对这一问题提出自适应软件系统建模框架,给出需求模型层到Agent层的映射机制,完成需求层与执行层的自动转换。主要研究工作包括以下四个方面:
⑴提出以Goal驱动的自适应软件系统设计框架。从MDA思想出发,提出一种以Goal驱动的自适应软件系统设计框架(Goal-based self-Adaptation Software system Design framework,GASD框架)。分析框架中各层的功能,给出GASD框架中角色、目标、规划、资源、活动以及约束等建模概念的定义;给出GASD建模方法,包括目标建模、规划建模和约束建模三种;给出GASD框架建模概念与建模方法的图形化表示。通过该框架可以构造开放的、异构的、动态的自适应软件系统。
⑵设计Agent体系结构以及行为选择算法。提出基于BDI结构的Agent模型,Agent模型包含四个核心知识库:信念库、意图库、目标库以及规划库;三个核心构件库:感应部件、推理引擎以及执行引擎。详细描述Agent内部各个核心部件的工作流程以及协同方法,从而应对动态变化的环境;提出Agent通信语言,支持Agent交互;提出Agent自适应行为选择算法应对环境的变化,确保系统能够时刻保持最优性。
⑶制定需求模型与Agent的映射规则。基于JADE平台,提出基于GASD框架的需求模型与Agent的映射规则。规则主要包括两方面,①建模概念映射,给出GASD框架中规划、目标以及资源的概念,以及各自与对应的JADEAgent标签的映射关系;②建模方法映射,给出三种建模方法角色建模、目标建模以及约束建模与JADE平台的映射规则,在JADE平台上如何实现各种建模方法。
⑷实现原型系统GASD2J。开发基于Eclipse平台的GASD2J(GASD-to-JADE)原型系统,该系统主要包3个功能模块,GASD框架图编辑器模块,通过拖放等图形化设计方式绘制GASD框架设计图;代码生成引擎模块,根据GASD框架设计图读取程序模板,生成Agent描述文件;JADE编译运行模块,读取Agent描述文件,调用JADE平台编译运行。最终实现需求模型与Agent的自动转换。