CH7-面向AGENT的软件工程
浅析面向Agent的软件工程

浅析面向Agent的软件工程浅析面向Agent的软件工程【摘要】Agent技术和应用是目前软件研发行业的研究焦点之一,作为一种新颖的软件开发范型,Agent技术常用来解决复杂的大型工程化开发问题。
尽管在过去二十年里面向Agent软件工程领域的研究取得了长足进步,但其仍有很大的挖掘潜力。
本文介绍了Agent的研究背景和开展现状,总结了Agent技术的定义和特点,详述了面向Agent 软件工程的分析和设计步骤,总结了当前Agent应用开发使用的环境语言。
【关键词】软件工程;分析;设计;AgentAbstract:Agent technology and applications is one of the current focus of the software industry,as a novel software development paradigm,Agent technology used to solve complex large-scale engineering development problems.Despite the past two decades inside the Agent software engineering research has made considerable progress,but it still has a lot of tap potentialhis paper describes the background and development status Agent,summarizes the definition and characteristics of Agent technology,Agent-oriented software engineering detailed analysis and design steps,summed up the problems and challenges facing the current Agent field of study. Key words:Software Engineering;Analysis;Design;Agent1.概论随着软件行业的飞速开展,软件产品的标准化生产已经成为研究领域内的共识。
【软件学报】_综述_期刊发文热词逐年推荐_20140727

科研热词 高效解算器 非结构格 随机优化 软件自适应 软件定义网络 软件体系结构 软件产品线 路由 调试 虚拟化 群体适应 网络 综述 约束求解 系统文献综述 程序分析 移动推荐系统 社会网络 社会化网络 确定性重放 研究趋势 生物网络 状态机 模式挖掘 概率推理 概率图模型 查询优化 机器学习 未来互联网 数据竞争 数据中心 控制器 拜占庭系统 拓扑 应用 并行计算 并行程序 容错 字符串分析 大数据管理 多重网格 多线程程序 多核处理器 坐标优化 在线优化 可靠性 可变性建模 动态网络 体系结构 中间件 上下文感知 上下文
2010年 序号 1 2 3 4 5 6 7 822 23 24 25 26 27 28 29
2011年 科研热词 推荐指数 序号 隐蔽信道限制 1 1 隐蔽信道识别 1 2 隐蔽信道消除 1 3 隐蔽信道检测 1 4 隐蔽信道度量 1 5 隐蔽信道审计 1 6 隐蔽信道 1 7 跨层协议设计 1 8 访问控制策略 1 9 网络编码 1 10 系统体系结构 1 11 模型驱动 1 12 机会路由 1 13 无线多跳网络 1 14 数据的机密性 1 15 数据的完整性 1 16 数据的完备性 1 17 数据库服务 1 18 搜索引擎 1 19 广域网分布式爬虫 1 20 实用化 1 21 多跳无线网络 1 22 复杂嵌入式实时系统 1 23 可靠传输 1 24 web划分 1 25 mimo 1 26 agent部署 1 27 agent协同 1 28 aadl(architecture analysis and1 design language)29 30 31 32 33 34
推荐指数 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
AOP语言在GUI编程中的应用

AOP语言在GUI编程中的应用徐承志;黄振兴【摘要】面向Agent编程是一种更高抽象级别的编程范型,常见于人工智能、交互式仿真等研究领域,却很少应用于工程实践领域,其中一个原因是缺少对图形用户接口的支持.为了解决这个问题,一种命令式的编程语言--CAOPLE,将底层图形库封装成Agent组件,并在编程过程中遵循三层结构的设计,即对外接口层、枢纽层和表示层,以适应面向Agent编程的特点.将这种编程模式应用于网络聊天室的设计中,用清晰的逻辑和简洁的代码实现了在分布式环境下的图形交互应用.CAOPLE的图形接口编程证明了,面向Agent编程思想在工程应用领域的可行性和适应性,并将推动下一代面向Agent的软件工程早日进入实用阶段.【期刊名称】《湖北工业大学学报》【年(卷),期】2019(034)001【总页数】4页(P69-72)【关键词】Agent;面向Agent编程;图形用户接口;GUI编程【作者】徐承志;黄振兴【作者单位】湖北工业大学计算机学院,湖北武汉430068;湖北工业大学计算机学院,湖北武汉430068【正文语种】中文【中图分类】TP311继云计算、物联网和移动互联网之后,大数据也成为信息技术计算机产业发展的新方向.面对如此庞大的市场和复杂的需求,工业界迫切地希望寻求软件的新概念、新模型和新技术来支持这类新系统的工程化开发。
作为早期人工智能领域内的一个关注点,智能体(Agent),由于其的固有特征符合目前软件发展趋势,因此被成功引入软件工程领域.面向Agent编程(AOP)的思想也迅速成为研究热点,并成为大规模网络计算的一种可行的解决方案。
1 AOP发展现状近年来人们已经提出了不少面向Agent的建模工具、编程语言和运行环境。
但是学术界、工业界呈现出冷热不均的势态。
目前工业界采用的实现手段主要还是面向对象编程(OOP),以及围绕OOP形成的软件理论和编程框架[1],而真正采用面向Agent编程而实现的工业产品并不多。
面向Agent的软件工程:现状与挑战

J u n l fC mp trRee rha d De eo me t o r a o o u e sac n v lp n
IS 0 013 | N 1 .7 7T S N 10 2 9C 117 | P 4 (0 :18 ~ 18 , 0 6 3 1 ) 7 2 7 9 20
Ma nu oXij n,Ch n hmig a g Z i n ,Wa gJ ,a dW a gHu i n n i n n ami
( c ol fC mp t 'n e a i a U ies yo ee s T c n l y, h n sa, 1 0 3 S h o o o ue i c ,N t n l n vri r& e o t fD f ne eh o g C a gh 4 0 7 ) o
fn l s use o g i e f t r e e r h. i a l dic s d t u d u u e r s a c y Ke r s a e — int d s fwa e e i e ig;a e — a e yse ;a e h o y a e h o o y wo d g ntore e o t r ngne rn g ntb s d s t m g ntt e r nd t c n lgy
面 向 A e t 软件 工 程 : 状 与挑 战 gn 的 现
毛新军 常志明 戟 王 王怀民
( 国防 科 学 技 术 大 学计 算 机 学 院 长 沙
(j o u teu c) xma @n d .d .n
40 7) 10 3
Ag ntOr e e o t r g ne r n e - int d S fwa e En i e i g:S a u nd Ch le e t t s a a l ng s
CH7-面向AGENT的软件工程

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章 面向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章 面向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的研究内容
基于交互Agent的异构信息系统主动集成软件

mo n i t o r ,r u l e e n g i n e ,i n t e r a c t i v e k n o wl e d g e b a s e ,t a s k s c h e d u l e mo d u l e ,p r o t o c o l c o n v e r t e r a n d
第 5卷
第 1期
指 挥 信 息 系 统 与 技 术
Co mma n d I n  ̄ o r ma t i o n S y s t e m a n d Te c h n o l o g y
Vo l _ 5 No . 1
Fe b .2 01 4
2 0 1 4年 2月
・
0 引 言
随着 电 子信 息 技 术 的发展 , 指 挥信 息 系 统 能 力 从 传统 的 面 向单 一 任 务 向多 样 化 任 务转 变 , 在 信 息
系统跨 军 兵种 、 跨领 域 交互 集成 时 , 因传 输协 议和 数 据 格式 等技 术体 制 的异 构性 造成 系统 交互 困难 。传
交 互 Ag e n t 主 要 解 决 面 向 多样 化 任 务 异 构 系
统 动态 按需集 成 构建 的 问题 。当待 集成 系统 发生 变
化时, 可 自行 调整 交互 方 案 , 实 现 自动化 集成 。其软
件 组成 如 图 2所 示 。
服务 间 的动态 协 调 运 作 ; 负 载均 衡 和 资 源 监 控 实
1 )分 布异 构环境 的支持 性差 : 传 统信 息 系 统集 成 主 要 面 向局域 网或 个 别 系 统架 构 , 而 现行 业 务 运 作 范 围具 有 开放 性且 面 向多种架 构 ; 2 )无 法 动态 建 模 和 交互 : 战场态 势 瞬息 万 变 , 部 队进 行 部 署 和 处置 时 , 需 及 时感知 外部 情况 和应 对 突发事 件 。传统 交互 解
ch17

Xinqiu Zhao
©Department of EE, Yanshan University, 2006
Figure 22-5
22.2 Presentation Layer(表示层) (表示层) Presentation Layer Functions(表示层功能) (表示层功能)
•表示层是两个系统之间交换信息的语义和语法,负责翻译、 加密/解密、认证和压缩数据。
直接置换
Xinqiu Zhao
压缩置换
扩充置换
©Department of EE, Yanshan University, 2006
Figure 22-14
Substitution(替换加密算法:S-盒) (替换加密算法: 盒
•Substitution(替换加密算法:S-盒):与传统面向字符的替换加密算法类似。 (替换加密算法: 盒 •输入是长度为N的位流,输出的结果是另一串长度为M的位流。M与N不一定相 等。 •一般没有密钥,它作为加密或解密的一个中间过程。将输入与输出匹配的函数 可能是预定义的一个数学公式或一张表。
翻译
加密/解密
认证
压缩
Xinqiu Zhao
©Department of EE, Yanshan University, 2006
Figure 22-6
Direct and Indirect Methods of Translation 直接和间接翻译方法) (直接和间接翻译方法)
(扩充的二进制编码 的十进制交换码)
旋转加密
联合
压缩置换 48位迭代密钥
Xinqiu Zhao
©Department of EE, Yanshan University, 2006
分布式环境下面向复杂任务的Agent联盟构建

( De p a r t me n t o f Co mp u t e r S c i e n c e a n d E n g i n e e r i n g , S h a n g h a i J i a o t o n g Un i v e r s i t y , S h a n g h a i 2 0 0 2 4 0 , Ch i n a )
协 商构建 联盟 , 在 协商 过程 中设 定方案 发布 Ag 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 平均 收益 率 。 关健 词 :联盟 构建 ;逻 辑依 赖关 系 ;转 移成 本 ;分布 式环境 ;按 劳分 配 ;信 息泄 露
第3 9卷 第 1 2期
、 , o 1 . 3 9
NO. 1 2
计
算
机
工
程
2 0 1 3 年 1 2月
De c e mb e r 2 01 3
Co mp i n g
・
人工智能及识别技术 ・
文章 编号:1 0 0 0 —3 4 2 8 ( 2 0 1 3 ) 1 2 — _ _ 0 2 1 6 — o 7
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第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负责追踪一个或几个明确 定义的责任,这些责任一般是通过与其他角色的 交互来完成的。然而,两个角色之间的交互不仅 是联合的关系,事实上还是一个建立权威的关系, 这是角色定义的一个部分。角色、交互和权威关 系定义了组织的结构。