




已阅读5页,还剩64页未读, 继续免费阅读
(计算机科学与技术专业论文)基于agent的模型转换方法研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国防科学技术大学研究生院硕士学位论文 摘要 基于组织抽象的面向a g e n t 软件开发方法借助于组织学和社会学的概念和思 想对系统进行分析和建模。将软件系统视为由一个或多个a g e n t 构成的组织,每 个a g e n t 在组织中扮演一定的角色,a g e n t 之间通过各种交互机制相互作用,共同 实现系统的设计目标它提供了高层的抽象以实现系统的自然建模。有助于控制 系统的复杂性,因而可以有效用于系统的分析和建模c a s t e 是对一类具有共同结 构和行为特征a g e n t 的抽象表示,它可以作为基本的构件用来支持多a g e n t 系统的 设计和实现为了支持基于组织抽象和c a s t e 机制的方法学的设计,实现分析模型 到设计模型的转换,需要研究从基于组织抽象的分析模型到基于c a s t e 的设计模型 的转换方法。 本文基于m d a 的思想,将基于组织抽象的模型视为是平台无关模型,基于 c a s t e 机制的模型视为是平台相关模型,分析了组织模型与c a m l e 模型之间的对 应性然后以g a i a 方法为基础,对其概念框架和元模型进行了扩展,提出了从组 织模型到c a m l e 模型的转换方法,设计相应的算法,开发了相应的软件工具并 进行了案例分析以验证技术的有效性和可行性 主题词:组织抽象,面向a g e n t 的软件工程,多a g e n t 系统,模型转换 第i 页 国防科学技术大学研究生院硕士学位论文 a b s t r a c t t h ea g e n t - o r i e n t e dm e t h o d o l o g yp r o v i d e san u m b e ro fh i g h - l e v e l 曲s t r a c t i o n s b a s e do i lo r g a n i z a t i o n a lc o n c e p t st oa n a l y z ea n dm o d e lm u l t i - a g e n ts y s t e m s , i nw h i c h a g e n tp l a y ss o m er o l e si nt h eo r g a n i z a t i o na n dc o o p e r a t ew i t l ie a c ho t h e ri no r d e rt o a c h i e v ed e s i g no b j e c t i v e s rp r e s e n t sh i g h - l e v e la b s t r a c t i o nt om o d e lm u l t i a g e n t s y s t e m si na n a t u r a lw a ya n dt h e r e f o r ei sh e l p f u lt oc o n t r o lt h ec o m p l e x i t yo f s y s t e m st o b ed e v e l o p e d s u c ha b s t r a c t i o n sc a nb eu s e dt os u p p o r tt h ea n a l y s i sa n dm o d e l i n go f t h e s y s t e m s c a s t ei st h ea b s t r a c td e s c r i p t i o no f a g e n t s , w h i c hh a v et h es a m es t r u c t u r a la n d b e h a v i o r a lc h a r a c t e r i s t i c s i tc a na c ta st h eb a s i cm o d u l a ra n dc o m p o n e n tt od e s i g na n d i m p l e m e n tm u l t i - a g e n ts y s t e m s t h e r e f o r e ,i ti sn e c e s s a r yt od e v e l o pm e t h o dt ob r i d g e t h eg a pb e t w e e no r g a n i z a t i o n - b a s e dm o d e la n dc a s t c - b a s o dm o d e l t h et h e s i sp r e s e n t sam e t h o dt ot r a n s f o r mt h e o r g a n i z a t i o n - b a s e dm o d e lt o c a s t e - b a s e dm o d e l w eb o r r o wt h ei d e ao f m d aa n dt a k eo r g a n i z a t i o n - b a s e dm o d e la s p l a t f o r m - i n d e p e n d e n tm o d e la n dc a s t e - b a s e dm o d e la sp l a t f o r m - d e p e n d e n tm o d e lt h e a l g o r i t h m so ft r a n s f o r m a t i o na r ed e s i g n e db ya n a l y z i n gt h er e l a t i o n s h i p sb c t w e e l lt h e o r g a n i z a t i o n - b a s e dm o d e la n dc a s t e - b a s e dm o d e l as o f t w a r et o o li sd e v e l o p e da n da c a s ei ss t u d i o dt ov a l i d a t eo u rm e t h o d k e yw o r d s :o r g a n i z a t i o n a la b s t r a c t i o n a g e n t - o r i e n t e ds o f t w a r ee n g i n e e d n g m u l t i - a g e n ts y s t e m 。m o d e lt r a n s f o r m a t i o n 第i i 页 国防科学技术大学研究生院硕士学位论文 表2 1 表2 2 表3 1 表4 1 表目录 面向a g e n t 的软件开发方法及其分类 g a l a 方法的开发阶段及任务 c m s 的角色 8 n 3 7 4 9 c a m l e 建模环境视图类、文档类与模型的对应 第页 国防科学技术大学研究生院硕士学位论文 图1 1 图2 1 图2 2 图2 3 图2 4 图2 5 图2 6 图2 7 图2 8 图3 1 图3 2 图3 3 图3 4 图3 5 图3 6 图3 7 图3 8 图3 9 图3 1 0 图3 1 l 图3 1 2 图3 1 3 图3 1 4 图3 1 5 图 图 图 3 3 3 图3 1 9 图3 2 0 图3 2 1 a g e n t 与环境的交互 图目录 l g a i a 方法的开发过程与模型1 0 r o a d m a p 方法的过程与模型 r o a d m a p 的角色层次图 r o a d m a p 的角色交互 c a m l e 结构图及其符号 协作图符号 场景图格式 行为图符号 1 2 1 3 1 3 1 6 1 7 1 8 1 8 g a i a 方法的元模型。2 l 角色问的关系 扩展的g a i a 元模型 扩展的角色图 扩展的协议图 角色关系图的符号 角色关系图举例 模型转换总体流程 结构模型生成算法 从多个c a s t e 派生子c a s t e 从参与关系派生子c a s t e 全局协作模型生成算法 生成行为模型的算法 p cc h a i r 角色 r e v i e w e r 角色 a u t h o r 角色 s u b m i t p a p e r 协议 s e n d r e v i e w 协议 s u b m i t r e v i e w f o r m 协议。4 l c m s 的角色关系图 c m s 的结构图 4 1 4 2 第页 ”筋孙笳”孔砣驺弘箱弘粥”加加舭 国防科学技术大学研究生院硕士学位论文 图3 2 2c m s 的全局协作图4 2 图4 1c a m l e 建模环境的主窗口 图4 2 c a m l e 建模环境的运行时结构 图4 3 图表类结构 图4 4文档类结构 图4 5模型管理器窗口 图4 6角色编辑器 图4 7协议编辑器 图4 8 角色编辑器与协议编辑器的类结构 图4 9 扩充后的文档类结构 图4 1 0 扩充后的图表类结构 图4 1 l 生成c a s t e 结构模型的序列图 图4 1 2 生成全局协作图的序列图 图4 1 3 模型转换结果 第v 页 钙牾钉钉铝如卯n记驺 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取褥的研 究成果尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学 位或证书而使用过的材料与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意 学位论文题目:基i ! g 塑! 鲤搓型技携友洼丑匿 学位论文作者签名:五短避 日期:2 阳年,月,日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留使用学位论文的规定本人授权国 防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允 许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索 可以采用影印缩印或扫描等复制手段保存、汇编学位论文 ( 保密学位论文在解密后适用本授权书) 学位论文题目:基王! g 曼垒! 煎搓型莹挟虚洼噩嚣 学位论文作者签名:至錾嫩。 日期:山o 年,月t 2 - i j 作者指导教师签名:乏;乙匕乙日期:, 2 - ,年,月z 日 国防科学技术大学研究生院硕士学位论文 第一章绪论 1 1 课题背景 自2 0 世纪8 0 年代以来,在人工智能、分布计算、入机交互、计算机辅助协 同工作等领域,有关a g e n t 的理论和技术逐步引起了人们关注与重视尤其是1 9 9 3 年s h o h a m 提出了面向a g e n t 的程序设计思想【1 l ,并设计了一个简单的面向a g e n t 的程序设计语言a g e n t - 0 ,此后,面向a g e n t 的计算作为一种全新的计算方式, 吸引了全世界众多的研究者,涌现出了大量的研究成果a g e n t 已经成为当前计算 机科学中的一个重要概念,被广泛应用于人工智能、软件工程、并行与分布计算、 电子商务、人机界面,机器人技术等领域学术界和工业界都对a g e n t 技术及其 应用给予了高度重视,提出面向a g e n t 的软件工程( a g e n t - o r i e n t e ds o m v a r e e n g i n e e r i n g ) ,以便建立基于a g e n t 的软件开发方法、工具和过程,同时也产生了 各种支持面向a g e n t 程序设计( a g e n t - o r l e n t e dp r o g r a m m h g ) 的语言,框架和平 台一些标准化组织( 如f i p a 和o m g ) 还开展了a g e n t 技术的标准化工作,并 且制定了相关的技术标准和规范 2 , 3 3 , 3 q 尽管a g e n t 技术已经在不同的领域出现了一些成功的实例,受到越来越多的 关注,但学术界和工业界对a g e n t 概念的严格定义仍然没有达成一致的意见我 们可以从软件工程的角度对a g e n t 作一个一般性的定义: 所谓a g e n t 是指驻留在一定环境下,能够自主( a u t o n o m o u s ) 、灵活( f l e x i b l e ) 地执行动作以满足设计目标的行为实体 k - :i : 上述概念定义将a g e n t 视为软件开发所需的个计算抽象和高层的概念模型, 第l 页 国防科学技术大学研究生院硕士学位论文 到软件设计的自然过渡,推动复杂软件系统的设计与实现一方面,a g e n t 能够主 动地感知环境的变化,从而主动选择自己的行为;另一方面,a g e n t 的行为又能对 环境产生影响,如图1 1 所示基于这一概念定义,可以看出a g e n t 具有以下特征: 一 自主性( a u t o n o m o u s ) : 自主性是a g e n t 的基本属性之一,是a g e n t 区 另于一般对象的重要特征a g e n t 的自主性体现为a g e n t 具有属于其自身 的计算资源和控制机制,能够在没有用户或其他a g e n t 直接干预的情况下 运行,并且能够根据其内部的状态和感知到的环境来修改状态或控制行 为 一主动性( p r o - a c t i v i t y ) ;a g e n t 能根据其目的采取主动的行动,趋向于达 成其目的,即a g e n t 是一个目的驱动( g o a l d r i v e r ) 的行为实体; 一反应性( r e a c t i v i t y ) :a g e n t 能够感知其所处的环境,如物理世界、系统 中的其他a g e n t 或者系统所处的物理环境,并且能够针对环境中的事件做 出适当的反应。 一社会性( s o c i a la b i h t y ) :a g e n t 所处的环境中可能还有其他的a g e n t 存在, 为了达到目标,a g e n t 可能需要与环境中的其他a g e n t 通信,从而达到合 作与协商的目的,并且所有的a g e n t 都需要遵守一组全局性的约束才能确 保整个系统的有序运行 为了支持多a g e n t 系统的工程化开发,近年来面向a g e n t 的软件工程就多 a g e n t 系统的形式化规约、建模语言、开发方法、程序设计、c a s e 工具和环境等 进行了研究,取得了许多研究成果尤其在开发方法方面,至今学术界和工业界 已经提出了几十种多a g e n t 系统的开发方法根据这些方法所依赖的技术背景, 大致上可以将这些方法分为三类:基于对象技术的方法,基于知识工程的方法和 基于组织抽象的方法阻捌 基于组织抽象的开发方法借助于组织学和社会学中的一组概念对基于a g e n t 的系统进行描述,分析和建模,这类方法将软件系统视为一个或多个由a g e n t 构 成的组织,每个a g e n t 在组织中扮演一定的角色,a g e n t 之问通过各种交互机制相 互作用,共同实现系统的设计目标目前,基于组织抽象的多a g e n t 系统开发方 法研究十分活跃,人们提出了诸如g a i a f , 习,a a l a a d i n 埘、r o a d m a p 脚2 1 】和 r o m a sp l 等开发方法学然而,如何将高层的组织模型转换为底层的、计算机可 以实现的设计模型仍然是一项具有挑战性的研究课题具体表现在:现有基于 组织抽象的多a g e n t 系统开发方法在设计和实现方面一般引入了a g e n tc l a s s 或 a g e n tt y p e 作为基本的模块和编程单元,比如g a l a 方法中采用了a g e n tc l a s s 对角 色进行封装【4 埘,t r o p o s 方法则采用了a g e n tt y p e 。将执行者的能力赋予一定的 第2 页 国防科学技术大学研究生院硕士学位论文 a g e n tt y p e 来完成t 6 1 。采用a g e n tc l a s s 或a g e n tt y p e 作为软件系统的基本模块时, a g e n t c l a s s 或a g e n t t y p e 与a g e n t 之问是一种实例化的关系,a g e n t 实例化以后, 只能属于固定的a g e n tc l a s s 或a g e n tt y p e 。这种特性不足以支持多a g e n t 系统的 动态性现有的大部分基于组织抽象的多a g e n t 系统开发方法虽然都使用了组 织、角色等概念,但是各种方法学的概念框架并不统一,对于以组织抽象为基础 的分析模型,难以自然地导出系统的设计模型 在多a g e n t 系统的设计与实现方面,c a s t e 机制【7 to l 可以很好地解决a g e n tc l a s s 及a g e n t t y p c 的局限性问题c a s t e 是对具有共同属性的一类a g e n t 的抽象描述, c a s t e 与a g e n t 之间的关系类似于类与对象之间的关系,但是区别在于,c a s t e 与 a g e n t 的关系不是固定不变的一个a g e n t 可以在运行时改变其类型,从一个c a s t e 的实例变成另一个c a s t e 的实例在多a g e n t 系统的开发方面,围绕c a s t e 机制已 经出现了许多有意义的成果,如多a g e n t 系统的形式化规约语言s l a b s t 7 s l ,图形 化建模语言c a m l e t l l 1 习和基于s l a b s 的编程语言s l a b s p t l 5 。忉 m d a ( m o d e l - d r i v e na r c h i t e c t u r e ) 是由o m g 定义的软件开发框架1 2 6 - 2 s 1 在 m d a 技术中,软件开发过程是由对软件系统的一系列建模行为所驱动的m d a 定义了两类模型,一类是与软件系统的具体实现平台无关的模型,称为平台无关 的模型( p l a t f o r mi n d e p e n d e n tm o d e l ,p i m ) ,另一类针对特定平台的模型,称为平 台相关模型( p l a t f o r ms p e c i f i cm o d e l ,p s m ) 基于m d a 的开发过程大致上可以 描述为:首先使用平台无关模型对用户的业务进行建模,建立的模型应当力求准 确的描述用户的业务问题,并且应当具有一定的稳定性,不会轻易随着实现技术 的变化而变化。业务建模完成之后,将通过一系列的变换过程,最终得到针对特 定实现平台的模型,即平台相关模型然后由平台相关模型生成程序代码m d a 的关键之处在于:( 1 ) 提取系统的平台无关模型平台无关模型是软件系统中相 对稳定的部分,不会随着实现技术的变化而变化平台无关模型是软件重用的主 要部分( 2 ) 定义一组的变换规则,实现变换过程的自动化 我们希望将模型转换的思想应用于面向a g e n t 的软件开发,将基于组织抽象 的系统模型视为是平台无关模型,将基于c a s t e 机制的系统模型视为是平台相关模 型,从而把基于组织抽象的需求分析、基于c a s t e 机制的软件设计与实现等技术手 段结合起来,形成一个统一的开发过程然而。基于组织抽象的需求分析与基于 c a s t e 机制的软件设计无论在概念还是元模型上都存在很大的差异:一方面组织抽 象的核心概念来源于社会科学,虽然在描述系统需求时具有简单,自然的优点, 但这些概念本身也具有不够精确的缺陷;另一方面,无论是基于c a s t e 机制的规约 语言还是建模语言,都没有专门用于需求分析的部分,如果在开发过程的早期就 第3 页 国防科学技术大学研究生院硕士学位论文 用c a s t e 来描述系统需求,必将使软件开发工作过早地陷入细节当中因此,将组 织抽象与c a s t e 机制结合以后,怎样将基于组织抽象建立的一系列分析模型转换成 基于c a s t e 机制的设计模型,需要给出相应的转换方法,并尽可能地实现自动化 1 2 本文主要贡献 在软件开发过程的早期,采用组织抽象的方法可以对应用系统进行自然地分 析和建模;在设计与实现阶段,采用c a s t e 作为基本构件,则可以更容易地实现 a g e n t 的动态性等特征如果能够将组织抽象的思想与c a s t e 机制结合起来,必将 有助于多a g e n t 系统的开发但是,由于组织抽象与c a s t e 机制处于不同的抽象层 次,在软件开发过程中关注的视点,角度和内容不尽相同。因此需要提供相应的 技术,指导开发人员将基于组织抽象的分析模型转换为基于c a s t e 机制的设计模 型 针对上述难题,本文在比较了目前几种典型的基于组织抽象的面向a g e n t 软 件开发方法的基础上,研究了从基于组织抽象的分析模型到基于c a s t e 的设计模型 的转换方法本文主要贡献包括;分析了组织抽象的基本概念,并以g a i a 方法 为基础,对其建模语言进行扩展定义,给出了从基于组织抽象的分析模型到基于 c a s t e 机制的设计模型的转换方法;设计了模型转换的过程与算法,开发了模型 转换工具的原型并对应用案例作了分析和验证 1 3 论文结构 全文共分五章,其余各章安排如下: 第二章首先介绍了组织抽象的思想及其核心概念,以及几种典型的基于组织 抽象的面向a g e n t 软件开发方法,然后介绍了以c a s t e 为中心的多a g e n t 规约与建 模,包括基于s l a b s 的多a g e n t 系统形式模型,以及图形化的建模语言c a m l e 第三章主要介绍从基于组织抽象的分析模型到基于c a s t e 的设计模型之间的 。转换方法其中,3 1 节针对模型转换的需要,对g a l a 分析模型的元模型进行精化, 对角色模型、交互模型以及角色问的关系给出了形式化说明;3 2 节分析了组织抽 象与c a s t e 抽象之间的对应关系,并从算法上讨论了从基于组织抽象的分析模型转 换到基于c a s t e 的设计模型的可行性;3 3 节和3 4 给出了从组织模型到c a m l e 模型的转换方法,并进行了案例分析 第4 页 国防科学技术大学研究生院硕士学位论文 第四章分析了c a m l e 建模环境的源代码与设计思路,并对其进行扩展,增 加了组织模型的建模工具,并实现了从组织模型生成c a m l e 模型的功能 第五章对全文进行总结,分析了本文的贡献与不足,并提出了对下一步工作 的设想 第5 页 国防科学技术大学研究生院硕士学位论文 第二章面向a g e n t 的系统建模 2 1 组织抽象的核心概念 基于组织抽象的面向a g e n t 软件开发方法学采用了角色,组织等概念,用它 们来理解系统的行为,并用它们分析和描述软件系统这一类方法的核心思想是 将待开发的软件系统视为一个或多个存在交互的自主的a g e n t 构成的组织,每一 个a g e n t 在组织中扮演一个或多个角色,a g e n t 之问通过特定的交互方式来实现相 互作用 3 9 - 4 ”运用组织抽象的观点能够更加容易地实现系统的自然建模,使得对 系统需求的描述更加贴近真实世界的要求一般而言,基于组织抽象的面向a g e n t 软件开发方法普遍采用的概念包括: 2 1 1 组织,组织规则与组织结构 通常认为组织是若干个体构成的集合,这些个体称为组织成员根据组织成 员的不同职责和行为特征,可以将组织成员抽象成为多个角色为了实现系统的 整体目标,必须对组织中的角色附加一些全局性约束,从而避免各个成员之间出 现相互冲突的行为,保证系统整体目标的实现这些全局性的约束即是组织规则 组织中的角色之间存在不同的关系,如控制、对等、依赖等按照这些关系,可 以划分不同的组织结构需要指出的是,多a g e n t 系统的组织结构不能与现实世 界的组织混同起来,它本质上是软件的体系结构,应当在设计阶段迸行选择 2 1 2 角色 角色( r o l e ) 是对组织成员行为特征的抽象。一般在角色模型中加以描述通 常情况下,系统中的一个a g e n t 可能扮演多个角色与角色类似的概念还有执行 者( a c t o r ) ,如t r o p o s 方法州角色是面向a g e n t 软件开发方法学中的一个重要概 念,采用角色的概念对系统中具有共同特性的一类a g c n t 进行建模,可以避开a g e n t 的具体实现方式,降低建模阶段的复杂度角色是一个抽象的,软件工程早期阶 段使用的概念,它主要用于刻画和分析系统的需求一个a g e n t 可以扮演一个或 者多个角色,一个角色也可为一个或者多个a g e n t 所扮演对于具有动态开放特 征的系统,同一个a g e n t 在不同阶段也可能扮演不同的角色 第6 页 国防科学技术大学研究生院硕士学位论文 对于角色的理解,各种方法学之间也存在不一致比如,g a l a 方法中,角色 是一个分析和总体设计阶段的概念,在详细设计阶段不使用角色的概念,在系统 实现以后角色也没有对应的实体而在r o a d m a p 方法中,角色不仅是一个分析 和设计阶段的概念,而且在系统实现以后,角色也有一个对应的实体。a g e n t 之间 的传递的消息必须通过角色实体转发才能实现阢2 1 1 2 1 3 职责 职责( r e s p o n s i b i l i t y ) 的概念通常用于描述角色的功能特征,是角色的属性之 一例如,g a l a 方法将角色的属性定义为职责、权限,活动与协议等几个方面 职责可以分为两种形式,一类表示a g e n t 应当完成的工作,这类职责称为活性 ( 1 i v e n e s s ) 职责;另一类表示a g e n t 不应出现的行为,或者应当避免的状态,这 类职责称为安全性( s a f e t y ) 职责角色的职责是一个高层,抽象的概念,应当着 重描述那些相对稳定的功能 2 1 4 行为、活动与协议 这组概念用于描述a g e n t 为了完成其功能所要进行的操作,也是角色属性的 一部分对于这些概念的理解,不同的方法学存在着差异以g a l a 方法为例,活 动( a c t i v i t y ) 是指角色的扮演者无须与其他角色交互即可完成的行为,a g e n t 执行 某个活动不须其他角色的参与,通常也不直接对其他角色构成影响而协议 ( p r o t o c 0 1 ) 则是指角色的扮演者必须与其他角色交互才能完成的行为,执行协议 时必须有其他角色的参与才能完成 2 2 基于组织抽象的面向a g e n t 软件开发方法 面向a g e n t 系统的软件开发是一项极为复杂的工作,它不仅涉及到a g e n t 的体 系结构,通信语言,合作模型、编程语言等具体的技术和工具,还需要系统的开 发方法学,以便对面向a g e n t 的软件开发提供工程化的指导 面向a g e n t 软件开发方法的核心思想是:系统由一个或多个a g e n t 组成,a g e n t 之间通过社会性的行为来实现系统的整体功能和目标 所谓社会性行为,是指a g e n t 之间的合作,协商或竞争等活动a g e n t 之间的 社会性行为与对象技术中的消息传递不同:对象之间的消息传递表现为对象之间 第7 页 国防科学技术大学研究生院硕士学位论文 的方法调用,而a g e n t 之间的社会性标为是基于某种a g e n t 通讯语言的合作、协商 或竞争 面向a g e n t 的软件开发方法学包括建模方法与开发过程两个部分面向a g e n t 的软件开发实际上就是遵循软件工程的抽象、逐步求精和多视点的原则,从不同 的抽象层次和不同的视点对多a g e n t 系统进行建模,并且支持从高层模型到低层 模型的逐步过渡,最终得到可以实现的软件系统 与结构化软件开发方法和面向对象软件开发方法不同的是,面向a g e n t 的软 件开发方法是基于a g e n t 概念框架的目前研究人员已经提出了一些专用和通用 的面向a g e n t 软件开发方法,这些面向a g e n t 的软件方法可以划分为工程化方法和 形式化方法两大类,而工程化方法对a g e n t 和多a g e n t 系统的构成各有不同的理解, 在概念框架上也存在较大的差异根据这些方法所依赖的理论基础与技术背景的 差异,可以将现有面向a g e n t 的软件开发方法分为以下几类,如表2 1 所示 表2 1 面向a g e n t 的软件开发方法及其分类 基于组织抽象的面向a g e n t 软件开发方法借助于社会科学方面的一些概念, 如角色、组织等,用这些概念来理解系统的行为,并用它们分析和描述软件系统 这一类方法的核心思想是将待开发的软件系统视为一个或多个相互交互的自主的 a g e n t 构成的组织,每一个a g e n t 在组织中扮演一个或多个角色,不同的a g e n t 之 间通过特定的交互( 如合作、协商,竞争等) 方式来实现相互作用这方面的代 表性工作包括g a l a t 4 一、a a l a a d 1 9 j 、r o a d m a # 等 对于多a g e n t 系统的开发,运用组织的观点能够更加容易地实现系统的自然 建模。使得对系统需求的描述更加贴近真实世界的要求,更加易于管理,分析: ( 1 ) 组织广泛存在于现实世界之中,针对这些组织的需求开发软件系统时,采 用基于组织的抽象和模型能够有效地缩小软件系统与现实世界在概念上的差距。 从而简化系统的开发 ( 2 ) 组织抽象提供了一组高层概念( 比如组织,组织规则和组织结构等) 用于 理解和描述多a g e n t 系统,这些概念与现有的软件开发方法所使用的概念( 如数 第8 页 国防科学技术大学研究生院硕士学位论文 据流,模块、类、对象等) 相比,更接近于现实世界,便于用户理解,有助于用 户参与需求分析 ( 3 ) 对于大多数多a g e n t 系统而言,其组织结构、组织规则等组织要素在整个 软件生存周期中通常是比较稳定的,利用组织的相关概念对系统进行建模,可以 得到相对稳定的系统模型 尽管将组织的概念应用于多a g e n t 系统的开发具有很多优势,但也必须注意 到这一类方法存在的问题首先,组织的概念来源于社会科学,与计算机领域长 期使用的概念相去甚远,这些概念本身具有一定的不精确性,不能直接用这些概 念对软件设计进行描述其次,应用组织的概念建立起来的模型可能更易于被用 户理解,但与软件开发人员长期使用的概念之f 可存在较大的差距从这个意义上 说,将基于组织抽象的分析模型转换成设计模型是一项具有挑战性的工作 2 2 1g a l a 方法 g a l a 方法 4 1 是由w o o l d r i d g e 、j e n n i n g s 和k i n n y 等人于2 0 0 0 年提出的一个通 用的面向a g e n t 的软件开发方法,该方法将多a g e n t 系统视为一个由若干a g e n t 构成的组织或社会g a l a 方法可以支持自顶向下、逐步求精的软件开发过程。最 终可以得到一个易于实现、满足用户需求并且独立于具体实现技术和平台的系统 模型w o o l d r i d g e 等人提出g a i a 的初衷是希望它能够有效表示a g e n t 的灵活性, 自主进行问题求解的能力以及多a g e n t 系统的复杂组织结构等该方法要求系统 的组织结构和a g e n t 的能力在运行时是静态的,并且在设计阶段就可确定,这就 决定了该方法只适合于封闭系统的开发 针对g a l a 方法的只适用于封闭系统开发的局限性,z a m b o n e l i 、j e n n l n g s 等人 对g a l a 方法进行了改进,使其可以支持具有开放特征的i n t c r n c t 应用系统的开发叼 改进后的g a i a 方法通常称为g a l a 2 ,如未作特别说明,本文余下章节所指的g a l a 方法均表示g a i a 2 改进的g a i a 方法将开发过程分为需求获取、分析,体系结构设计、详细设计 和实现五个阶段,但g a l a 本身只涉及分析、体系结构设计和详细设计三个阶段 各个开发阶段的主要任务及生成的模型如图2 1 所示 第9 页 国防科学技术大学研究生院硕士学位论文 c o l l e c t i o n o f 础兰q 啊r 】孙正椰 r a 旺妊芄t 翻眦 d 西i ( 孙, 图2 1g a l a 方法的开发过程与模型 在分析阶段,开发人员的主要任务是获取系统中的角色,建立基本的角色模 型和交互模型系统中的每个角色由职责( r e s p o n s i b i l i t y ) 、权限( p e r m i s s i o n ) 、活 动( a c t i v 时) 和协议( p r o t o c 0 1 ) 四种属性来描述职责描述了角色在系统中所应 具有的功能,包括活性职责和安全性职责两个部分所谓活性职责,是指角色的 扮演者应当进行的活动,比如电子商务系统中的竟拍a g e n t 应当按要求反复出价, 以达到拍下商品的目标;所谓安全性职责,是指角色的扮演者应当防止发生的倩 况,比如拍卖a g e n t 应当防止交易价格低于拍卖底价权限是指扮演该角色的a g e n t 在履行其职责的过程中应当拥有或者可以使用的资源对于软件a g e n t 而言,主 要是指角色的扮演者能够存取的数据活动是指扮演该角色的a g e n t 无需与其他 a g e n t 交互而发生的行为协议是指不同角色的扮演者之间特定的交互模式,协议 可以通过交互模型进行详细地描述g a l a 方法的设计阶段可以进一步分为体系结 第l o 页 圣 国防科学技术大学研究生院硕士学位论文 构设计和详细设计两个子阶段在体系结构设计阶段,开发人员的主要任务是对 分析阶段得到的角色模型和交互模型进一步精化,并设计系统的组织结构详细 设计阶段,开发人员首先将角色模型中的各个角色映射为a g e n t t y p e ,创建适当数 目的a g e n t ,然后建立a g e n t 的服务模型以描述a g e n t 如何实现其承担的角色表 2 2 归纳了g a l a 方法各个阶段的任务与建模结果 袭2 2g a i a 方法的开发阶段及任务 g a l a 方法是一个通用的面向a g e n t 的软件开发方法学,它不局限于特定的 a g e n t 体系结构,也不局限于特定的平台但是,g a l a 方法离实用性还有一定的差 距,其不足之处主要体现在以下几个方面: ( i ) g a i a 方法学假设已经获得了完整的需求规约,其开发过程并没有涉及需 求获取阶段。而系统需求的获取与建模也是软件工程领域的一个重要课题 ( 2 ) g a i a 方法的在开发过程是封闭的,在开发期间不能支持系统需求的变更 ( 3 ) 虽然在改进的g a l a 方法中提出了环境建模的思想,但却没有对环境的显 式建模,g a i a 方法关于环境的描述隐含在角色中,实际上难以描述环境本身的很 多特性 ( 4 ) 缺乏建模语言的支持g a i a 方法学虽然提出了多种分析模型与设计模型, 但却没有给出明确的建模语言,对于角色职责、组织结构与组织规则等要素难以 第1 1 页 国防科学技术大学研究生院硕士学位论文 进行有效地描述 ( 5 ) g a l a 的互交模型( 即协议) 实际上只是描述了角色之间的依赖关系,并 没有对协议的过程进行描述。 2 2 2r o a d m a p 方法 g a l a 方法的第一个版本于2 0 0 0 年发表以后,j u a n 等人对g a l a 方法进行了改 进,并于2 0 0 2 年提出了r o a d m a p 方法m 2 r o a d m a p 在以下几个方面对g a l a 进行了扩充: ( 1 ) 覆盖了需求分析阶段,可以支持需求获取 、 ( 2 ) 对领域知识的显式建模与描述 ( 3 ) 在分析阶段提供了不同级别的抽象,可以对系统进行迭代式的分解 ( 4 ) 从分析阶段到最终实现阶段,可以支持对单个a g e n t 的特性及其社会性 方面进行显式的建模与表示 ( 5 ) 提供了反射( r c f l c c t i o n ) 机制 烈) a d m a p 方法将g a l a 的分析阶段进行扩展,覆盖了需求规约阶段,并引入 了用例模型来支持需求的收集从用例模型可以导出知识模型,从而提供对系统 执行环境与领域知识的全局视图r o a d m a p 方法的模型如图2 2 示 固国 固日 回固 s p c c i 6 c a t i a n d a n a l y s i s 曰日圉 图2 2r o a d m a p 方法的过程与模型 d e s i g n r o a d m a p 方法的概念框架与g a i a 方法存在较大的差异。主要体现在以下几 个方面; ( 1 ) r o a d m a p 方法引入了角色层次图,将系统中识别出的所有角色纳入一 第1 2 页 国防科学技术大学研究生院硕士学位论文 个统一的树状结构如图2 3 所示,叶结点d 、e ,f 、g 称为原子角色,原子角色 的语义与g a l a 方法相同,它们代表单个的a g e n t ;所有非叶节点,如a ,b 、c 等, 称为合成角色,由其他角色( 既包括原子角色也包括非原子角色) 通过聚合机制 构成图中根节点a 是一个特殊的合成角色,代表整个系统 a bc defg 图2 3r o a d m a p 的角色层次图 ( 2 ) 角色不仅是设计时的概念,在运行时也有对应的实体,a g e n t 之甸的交 互必须经过角色实体如图2 4 所示,当a ,b 两个a g e n t 之间需要进行通信时, a g e n t a 发出的消息必须首先发送到它所扮演的角色,即r o l e a ,经过验证以后再 由r o l e a 发送至r o l e b 。再通过r o l e b 验证以后,a g e n t b 才能收到消息当a g e n t a 需要将消息转发给a g e n tc 时,也必须经过类似的过程 ;m _ 掣 “ m e m - ah 一 八八八 。赫- 辨 图2 4r o a d m a p 的角色交互 ( 3 ) 在g a l a 方法的基础上,r o a d m a p 方法扩展了角色权限的定义,允许 一个角色创建、读取或修改其他角色的属性例如。一个角色可以修改另一个角 色的协议 第1 3 页 国防科学技术大学研究生院硕士学位论文 2 3 以c a s t e 为中心的多a g e n t 系统规约与设计 目前基于组织抽象的面向a g e n t 软件开发方法在需求分析阶段一般采用了组 织、角色、权限、职责等高度抽象的概念,而在设计阶段,则仍然基于对象技术, 引入了a g e n t 类( a g e n tt y p e 或a g e n tc l a s s ) 作为系统的基本构成单元比如, g a l a 方法在需求分析阶段使用了角色,组织、协议等概念对系统进行建模,而在 设计阶段则使用a g e n tc l a s s 对角色进行封装【4 5 1 以a g e n t 类为中心的设计模型具有明显的不足:a g e n t 类与a g e n t 之间是一种 实例化的关系,a g e n t 在执行时只能属于固定的a g e n t 类,这种实例化的关系使得 a g e n t 在运行期间变换角色的特性难以实现这个问题可以采用c a s t e 机制进行解 决c a s t e 是对具有共同属性的一类a g e n t 的抽象描述,a g e n t 相当于c a s t e 的实例, 但这种实例化关系是动态的围绕c a s t e 机制已经出现了很多有意义的成果,如多 a g e n t 系统的形式化规约语言s l a b s 、图形化建模语言c a m l e 和编程语言 s l a b s p 本节主要介绍c a s t e 机制的几个关键概念,如a g e n t 与c a s t e 、环境与多 a g e n t 系统、a g e n t 之间的通信等,并简要介绍了基于s l a b s 的多a g e n t 系统建 模语言已帆e 2 3 1 多a g e n t 系统形式模型与s la b s 规约 2 3 1 1a g e n t 与c a s t e c a s t e 与a g e n t 的关系类似于“类”与。对象”的关系:在面向对象语言中, 。类”可以看作是对具有共同结构与功能的一组对象的抽象。同样,c a s t e 被定义 为具有相同的结构与行为特征的一组a g e n t 的抽象a g e n t 在运行时是一个或多个 c a s t e 的实例如果一个a g e n t 被定义为某个c a s t e 的实例,则该a g e n t 具有与c a s t e 完全相同的结构和行为特征与。类”和。对象”之间的关系不同的是,c a s t e 与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专科理论知识培训评价课件
- 专心服务课件
- 2026届广东省广州市白云区广外外学校数学九上期末学业水平测试试题含解析
- 市场调节优缺点分析
- 产品授权代理协议10篇
- 智慧消防安全在储能行业的应用与前景
- 环保行业资金使用审计规范
- 江苏省宿迁宿豫区四校联考2026届八年级数学第一学期期末经典试题含解析
- 山东省烟台市2026届数学八年级第一学期期末综合测试试题含解析
- 邮储银行阿克苏地区阿瓦提县2025秋招笔试经济学专练及答案
- 人民陪审员刑事培训课件
- JJF(蒙) 058-2023 重点排放单位碳计量审查规范
- 2025年高一的数学知识点大纲
- 2025年平面图形的画法说课教学课件
- 养老院保洁培训课件
- 小学歌曲教学课件设计与实践
- 不交社保给补贴协议书
- 顺产与剖腹产课件
- 《生成式人工智能》 课件 第4章 Transformer模型
- 狼疮性脑病的护理查房
- 中医围手术期护理
评论
0/150
提交评论