基于UML的面向agent建模
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于UML的面向agent建模
摘要:Agent是具有belief、desire和intention的更高粒度的对象,基于agent和对象的相似性,我们在UML(Unified Moeling Language,对象统一建模语言)基础上探讨AUML(Agent-oriented UML,面向agent的建模),以机器人搜寻食物为例,从agent角色定义到系统的用例图和系统的静态结构模型开始描述,给出了AUML主要模型。
关键词:agent;统一建模语言(UML);AUML;建模
1 UML建模思想简介
UML是一种以面向对象思想为基础以直观明确的构建和文档化软件系统为目标的通用可视化建模语言,现已成为业界标准。
UML支持面向对象的软件开发的整个生命周期,它通过不同的模型,从不同的视角来描述系统在不同生命周期中的各种静态结构方面和动态行为方面的特征,同时提供了扩展方案,使得面向对象建模专家可以使用UML方便地定义大多数领域中的复杂系统。
从系统分析和设计的角度出发,这些模型中最主要的部分可以归为如下4大类:①用例图模型。
从系统外部用户的角度对系统功能进行的描述,它是一种比较特殊的静态模型,是系统建模的基础和保证;②静态结构模型。
包括类图、对象图、包图,主要用于定义系统中具有重要意义的各种对象和实现,以及它们之间的关系,它们是定义系统动态行为的基础;③动态行为模型。
主要定义对象在时间上的历史,以及对象之间为达到一定目标所进行的通信和协作,这类模型包括状态图、
活动图、顺序图和合作图;④实现模型。
包括组件图和配置图,实现模型描述系统的代码,软硬件的物理结构。
2 BDI模型简介
BDI主体模型可以通过belief、desire和intention 3要素来描述:一组关于世界的信念和自身的状态;主体当前打算达到的一组目标(可以有长期的目标和短期的目标);一个规划库,描述怎么样达到目标和怎样改变信念;一个意图结构,描述主体当前怎样达到它的目标和改变信念。
我们可以把这些目标和BDI相对应,belief对应一些信念和属性;desire对应主体要达到的一组目标;intention对应一个意图结构,描述主体怎样达到目标,即怎样做。
这些特征在具体的实例中可以具体化。
使用BDI模型对于设计者和分析者来说比较自然,而且对于描述复杂系统的行为提供了简洁的表示,更有利于理解和解释。
3 基于BDI模型的AUML方法
与传统的对象相比较,agent是具有自主能力(在没有与环境相互作用或来自环境的命令的情况下自主执行任务)、反应能力(agent 必须对来自环境的影响和信息作出适当的响应)、社交能力(能够和其他agent或对象进行通信)、预动能力(体现了agent的面向目标性)的更高粒度的抽象,对象可以是agent的一部分。
基于BDI模型的agent,它封装了belief(类似于对象中的变量或属性,它包括一些方
法,比如添加目标addgoal(g:goal),改变目标transformgoal(newg:goal),得到目标getgoal():goal等);intention(或是plan,类似于对象中的方法,intention有抽象方法execute()和stop(),能随goal 改变,并且根据子类具体化plan中的方法,并且根据goal决定停止还是继续执行);desire(也即goal,对象中没有与之相对的地方,goal 中的方法可以随着belief的改变而改变,还必须包括一个布尔类型的方法来表示能不能达到目标)从而体现出较强的自主性、较强的面向目标性、灵活的反应性以及和其它agent(对象,人等)进行交互的社会性等。
如图1所示:
然而,面向agent的方法要得到发展,没有基于agent的统一建模语言是不行的,AUML势在必行。
在AUML中,我们可以借鉴UML,把系统分解成一个个单独的agent,底层适当运用UML来对agent建模,上层的入口和框架必须用agent的思想构建,并且定义它们之间的交互行为。
主要有以下4类模型可以用来对agent进行建模:
(1)基于扩展的用例图模型。
用于提炼agent组织中的相关角色、使用案例,以及之间的关系。
由于agent的一些特性,agent能够主动感知外部的环境从而作出相应的反应,因此,在AUML的用例图中,角色的范围就很大,可以是被动的,如环境、对象;也可以是主动的,如角色、其他agent等。
其中的用例可以是agent。
(2)基于扩展的静态模型。
用于分析agent的静态结构。
AUML中的结构关系可以借鉴UML中的相应关系,如:一般-特殊和整体-部分结构,再通过相应扩展进行完善,并且在AUML中可以标识先后次序。
(3)基于扩展的动态模型(行为图和交互图)。
用于描述系统中各agent随时间的变化情况和各agent之间的交互关系。
UML动态图中main()函数不是面向对象的而是面向过程的,从这个角度来说是不彻底的,对agent的建模应该考虑这一点。
如果agent建模也是以main()为入口,就丧失了建模的意义,所以在动态图中,要考虑agent如何自动进入入口,体现主动理念。
面向对象从本质上没有摆脱面向过程,面向agent建模同样如此(从现有技术看)。
因此,面向agent的建模关键是要在总体框架上体现主动入口问题。
(4)基于扩展的实现模型。
使用java语言描述系统的实现过程,利用组织图和配置图描述软硬件的物理结构。
4 应用
4.1 扩展用例图
在面向对象统一建模语言(UML)中,用例图中的角色(actor)一般是指人或者是另一个系统,而在面向agent建模中,由于agent的一些特性(自治性、反应性等),角色的范围就更加广泛了,可以是人、环境或其它用例。
以机器人搜寻食物为例,本例中的角色就是机器人所处的环境和食物。
用例图如图2所示:
图2 用例
其中角色借鉴UML中的表示方法(以笑脸表示),其中的用例以椭圆表示,如果是一个agent,就加上笑脸,其中用例和角色的交互不是如UML中的单向,由角色到用例,在面向agent建模中,交互是双向的(以带箭头的直线表示方向),这也体现出了agent的特性。
机器人与环境交互,从环境中获得一些信息和数据,然后搜寻食物(用例探测),当发现有食物的信息(用例获取)时,机器人走向食物,获取食物(用例得到),根据目标决定继续下次搜寻活动还是停止。
其中robotsystem是一个agent,在它的整个活动中表现出了agent 的特性,但是从不同的角度看,robotsystem的用例(探测、获取、得到)也都是agent,它们相互合作,为完成共同的任务而工作。
4.2 扩展类图
我们采用基于BDI模型的扩展UML类图来对机器人搜寻食物的例子建立扩展类图。
如图3所示:每一个robotsystemagent都包括3个抽象类:belief类(类似于对象中的变量或属性)robotstate类是belief 类的子类,包括机器人的一些初始属性;plan类(类似于对象中的方法),plan类的两个子类是exploration类和acquisition类,exploration 类有lookfor()方法搜寻食物,acquisition类的know()方法获取有关食物的信息;goal类定义了agent的目标,即获取食物,有方法obtain()
获得食物,notify()方法通知exploration类继续还是停止下次的搜寻活动。
其中explorationagent、acquisitionagent和retrievalagent都有相应的agent类图。
Agent类之间关系:每一个agent类都是由belief类、plan类和goal 类3个抽象类组成,它们与robotsystemagent类之间是整体-部分关系。
另外,robotsystemagent类可以对应一个或多个belief(1..n)类、plan(1..m)类和goal(1..k)类。
Robotstateagent类、explorationagent类、acquisitionagent类和retrievalagent类分别是从belief类、plan类和goal 类继承而得。
5 结束语
在该文章中,我们探讨了agent建模中的静态结构图:扩展用例图和扩展类图,agent系统的交互图和实现图有待进一步研究。
随着agent在各行业的应用,迫切需要面向agent的建模语言来规范面向agent的程序设计方法,有一个可以成功描述最初需求和最终交付的规范。
参考文献:
[1]张云勇.移动agent及应用[M].北京:清华大学出版社,2008.
[2]JOSEPH SCHMULLER.UML基础、案例与应用[M].李虎,王美英,万里威,译.北京:人民邮电出版社,2009.
[3]RALPH DEPKE,REIKO HECKEL,JOCHEN MALTER.Formal Agent-Oriented Modeling with UML and Graph
Transformation
[EB/OL].http://www.vpb.de/cslagengels/Paper/2001/Depke Scpol.pdf.
[4]KRISHNA KA VI.TX,Extending UML to Modeling and Design of Multi-Agent Systems[D].University of North Texas Denton,2007.。