当前位置:文档之家› CH7-面向AGENT的软件工程

CH7-面向AGENT的软件工程

高级软件工程
第7章 面向AGENT的软件工程
第7章 面向AGENT的软件工程
• 7.1 面向Agent的技术 • 7.1.1 Agent的基本概念 • 7.1.2 Agent的体系架构 • 7.1.3 Agent的组织类型 • 7.1.4 Agent与组件的对比 • 7.1.5 语义复用的Agent和组件 • 7.2面向Agent的软件工程 • 7.2.1 面向Agent的研究内容
7.1.5 语义复用的Agent和组件
• (1) Agent的知识接近于Agent所相信的,即通过 环境感知运用稳定规则推导出来。 • (2) Agent的目标近似于意图,能够从信念和计划 引擎所派生出来的规则计算出来。 • (3) Agent所能解决的目标近似于它行动的后续条 件。这些后续条件考虑了Agent的状态和行动完全 施行以后的环境状态。
• 1.分析 • 在Agent领域,有的方法直接处理这些需求,还有 一些混合方法适合于采用Agent概念,需要考虑: Agent在分析目的中的角色,使用Agent 概念的范 型语言,以及这些语言的支持工具。 • 2.设计 • 考虑如何使用 Agent 概念和技术来简化 MAS 的设 计。为了能够转换分析规范,就有必要知道如何 从头构建Agent,如何使用Agent开发环境。
7.1.5 语义复用的Agent和组件
• 1. 可重用性的目的在于:加速新系统的实现;通 过组合大量的组件,确保所实现系统的质量。 • 2. 需考虑的三个方面:语义的互操作性,语义的 组合性,语义扩展性。 • 3.大致语义可重用性 • 组件和Agent提供了不同的近似,在复用性方面 Agent比组件所具有的优势正来自于这些不同的近 似, parade框架给出的语义可重用性大致如下:
7.3.3 MASE方法
• (4)分析阶段总结 • 2.设计阶段 • (1)创建Agent类 • (2)构建对话 • (3)组装Agent • (4)系统设计
7.3.3 MASE方法
• 3.设计阶段总结 • 完成了部署图之后,MASE的设计阶段就结束了, 可以总结如下: • (1)向Agent分派角色,确认对话; • (2)构建对话,增加消息/状态来获得健壮性; • (3)定义Agent内部结构; • (4)使用部署图来定义最终的系统结构。
7.1.2 Agent的体系架构
• 1.包容性体系结构 • 包容性体系架构是 Brooks 对反应型体系架构的改 进,是基于行为存在和它们的抑制关系。
行为N
行为N-1
动作
行为1
7.1.2 Agent的体系架构
• 2.PRS • 在 PRS中,信念、期望和意图被明确地描述,并 且一起决定系统的行为。它们还会随着推理机制 动态改变。 PRS由解释程序和几个模块构成,模 块包括数据库,目标栈,知识区域库和意图结构。
7.1.2 Agent的体系架构
• Agent体系架构可以分为慎思型、反应型和混合型。 • 信念---期望---意图(BDI) 体系架构是Agent的表示 形式,Agent的行为可以被描述成好像拥有信念、 期望和意图等思维状态。 • (1)信念表示Agent拥有的知识; • (2)期望描述Agent追求的目标; • (3)意图说明Agent选择计划以实现哪些目标。
7.1.3 Agent的组织类型
• • • • • 常用的组织类型或范型: 1.层次 2.组合 3.团队 4.市场
7.1.4 Agent与组件的对比
• 下面从几个方面来比较Agent和组件 :
特 征 状态 通信 面向Agent 精神状态 ACL 面向组件 属性和关系 元对象协议
责任委派
各方之间的关系 与环境交互
第7章 面向AGENT的软件工程(续)
• 7.2.2 面向Agent的开发过程 • 7.3面向Agent的经典开发方法 • 7.3.1 Gaia方法 • 7.3.2 Tropos方法 • 7.3.3 MASE方法 • 7.4 按需定制的开发框架HDA • 7.4.1 HDA的定义 • 7.4.2 HDA的使用规则
7.3.2 Tropos方法
• Tropos方法采用I模型,它将行为者、目标、行为 者的依赖关系作为早期需求分析时应用建模的基 本概念。 • Tropo方法的目的是支持软件开发的四个阶段: • 1.早期需求分析 • 2.后期需求分析 • 3.架构设计 • 4.详细设计
7.3.3 MASE方法
• 提供了一种分析设计MAS的详细方法,它将几种 已有的模型通过组合形成了一个完整的方法,并 提供了一整套的转换步骤,说明如何从现有的模 型派生出新的模型。 • MASE方法是一个覆盖完整生命周期的开发方法, 包括了异构MAS的分析、设计和开发。 • 1.分析阶段 • (1)捕捉目标 • (2)使用用例 • (3)定义角色
7.4.2 HDA的使用规则
• 为了保证整个方法定制过程的顺利进行,需要弄 清楚HDA中的三个关系: • (1)明确应该选用HDA哪些层次。 • (2)判断某个元模型是否适合于某个层次。 • (3)根据需要将设计模式同元模型关联起来。 • 在HDA各个阶段中,从底层到顶层中,一步步充 实方法的细节,最终形成了适合于特定应用的新 方法,包括一组有序的步骤、一套模型及模型之 间的关系。
第7章 面向AGENT的软件工程(续)
• • • • 7.5.5 协调对MAS工程化的影响 7.5.6 MAS协调的行为理论框架 7.5.7 制品与协调基础设施 7.5.8 MAS工程中的协调平衡
7.1 面向Agent的技术
• 面向Agent技术是面向过程技术、面向对象技术和 面向组件技术的继承和发展。 • 1.Agent是自治的应用组件,反映了现代分布式 系统内在的分散性,并且可视为系统被不同的利 益相关者所拥有,在模块化和封装概念上进行了 自然延伸。 • 2.Agent运行和交互所采取的灵活方式,适应于 现代软件在动态和不可预知的情况下运行。
7.1.2 Agent的体系架构
• BDI在Agent社区中很流行,主要出于下面几个关 键的原因: • (1)基于意图概念对系统进行建模,对人类来说更 加自然。 • (2)大部分BDI体系架构有一个基础良好的哲学和 理论背景。
7.1.2 Agent的体系架构
• BDI架构的成功取决于以下方面: • (1)应用程序编制时基于计划构建,方便于模块化 和渐增式的开发。 • (2)由系统来管理反应行为和面向目标行为之间的 平衡,终端用户不需要参与复杂的低级语言编程, 这改进了可靠性。 • (3)终端用户采用人类的思维状态来进行编码,而 不是低级语言。
7.2 面向Agent的软件工程 7.2.1 面向Agent的研究内容
• • • • • • • • AOSE的关键主题包括: 1.需求工程 2.开发语言 3.建模语言 4.平台 (1)JADE(Java Agent DEvelopment framework) (2) ZEUS 5.方法学
7.2.2 面向Agent的开发过程
任务和责任委派
能力描述 新的概念
任务委派
接口 事件
7.1.4 Agent与组件的对比
• 面向组件的方法似乎比面向Agent的方法能够更好 的实现封装:只有决定改变组件本身以对事件做 出反应时,组件的状态才会改变。面向Agent的方 法也重视封装。Agent具有组件推理能力,这都是 由推理来决定,思维状态依然保持封装。
7.3.3 MASE方法
• 会议管理系统的一个部署图
A1: Author PCM1: PCMember A2: Author A3: Author
Database: DB
Chair: PCChair
7.4 按需定制的开发框架HDA
• • • • 方法工程学的概要图如下所示: 1.如何获取元模型; 2.如何组织元模型以形成一个合适的方法; 3.如何根据项目的需求来定制方法。
第7章 面向AGENT的软件工程(续)
• 7.4.3元模型 • 7.4.4 潜在的问题 • 7.4.5 Agent建模阶段 • 7.5 多Agent系统的基础设施 • 7.5.1 MAS的基础设施 • 7.5.2 基础设施的授权与协调 • 7.5.3 授权型基础设施JADE • 7.5.4 MAS的协调基础设施
元模型(方法单元) 构成 方 法 定制
实际项目
7.4.1 HDA的定义
• HDA(Hierarchical Development Architecture,层 次开发框架)被提出,用来作为“方法定制”的方 向性指导框架,帮助开发人员从不同AO方法中提 取出合适的元模型,放置到HDA中合适的阶段和 层次,根据项目的特殊需要进行剪裁调整,最终 获取所需的开发方法。 • 开发人员可以在HDA的不同阶段和层次之间并发 进行或迭代往复。
7.1.1 Agent的基本概念
• 1.自治性 • 在相同的框架下,实现自治的参与者也可以自如 地处理基础机制的变化。 • 2.异构性 • 在设计一个开放系统时,一定要有对共同性的说 明。 • 3.动态性 • Agent所倡导的动态配置技术有一些变种 。
7.1.1 Agent的基本概念
• 4.通信 • Agent能够通过环境进行持续交互,然而通过交互 可能会影响交互各方的自治性。 • 5.协议 • 协议简述了一个Agent应该何时,以及如何同其他 Agent进行通信。 • 6.承诺 • 可以将“承诺的可复用交互模式”形式化,这些 模式可以用作设计多Agent系统的基础,并确保最 终产生交互具有某些属性。
7.1.2 Agent的体系架构
• 2.PRS架构的主要组件
数据库 目标栈
解释器
KA库
意图结构
7.1.3 Agent的组织类型
• MAS中的每一个Agent负责追踪一个或几个明确 定义的责任,这些责任一般是通过与其他角色的 交互来完成的。然而,两个角色之间的交互不仅 是联合的关系,事实上还是一个建立权威的关系, 这是角色定义的一个部分。角色、交互和权威关 系定义了组织的结构。
相关主题