面向Agent的软件设计方法

合集下载

面向Agent的软件设计模式解析 欧展培

面向Agent的软件设计模式解析 欧展培

面向Agent的软件设计模式解析欧展培摘要:就目前的形势而言,Agent技术在市场上的需求量还是比较大的,但是人们对于Agent技术还不够成熟和完善,人们都在致力研发该技术。

设计形态是每个问题技术实现都具备的,不同种类的软件也都拥有不同的设计模式。

为Agent 设计模式可以最大程度化的实现其技术潜力,发挥最大化的作用,为软件工程提供更大的帮助。

而如何为Agent技术设计合适的模式则是需要人们探讨的。

基于此,本文探析面向 Agent 的软件设计模式,旨在为软件设计领域有更好的发展。

关键词:Agent软件;软件设计模式;Agent软件设计模式1、Agent技术解析1.1 Agent的概念由于Agent概念可以从多种方面进行定义,本文选择了较为容易理解的一种进行解释。

该解释是从人工智能的角度对Agent技术进行定义的。

Agent是指自主、灵活的一种执行动作,同时执行的动作能够令目标的实行主体感到满意。

其中自主灵活的执行动作三个特点,分别是反应性、主动性和社会性。

该概念也总结了Agent技术的外部行为方式和特点。

1.2 分析面向对象软件工程与面向Agent软件工程首先从系统构成来看,两者的系统结构主体不同。

Agent技术是由具有自主形态的实体计算Agent所构成的,而对象技术则是由不具自主性的计算实体对象构成的。

另外Agent技术可以自动感知周围环境的变化情况,但是对象技术都是被动的接受环境变化的信息。

从结构关系来看,Agent技术的主要关系是社会性的关系,对象技术则更偏重于继承、关联等一些类似的联系。

除了以上三点的不同,Agent技术和对象技术还可以从协作实质和协作结果两者进行区别。

图1为面向对象软件工程与面向Agent软件工程的对比分析。

图11.3 个体Agent的模式个体Agent的模式一共有三种。

分别是以下几点:1.3.1环境感知模式,该模式的主要目的使Agent更加完善的解决环境感知类的问题。

面向Agent的软件开发方法

面向Agent的软件开发方法

关键 词 : et 软 件 开发方 法 ;对 比研 究 Ag n ;
中图分类号 : P 1 .2 T 3 15
文献标识码 : A
方法 , 于这 些方 法有 多 种分类 方式 . 有的许 多 面 对 现 向 Ag n et的软 件 开 发方 法 大 都 是 在原 有 的软 件 工
程 的方 法 中引入 了 Ag n 概念 而 形成 的 , et 因此根 据
面 向 A e t的 软 件 开 发 方 法 学 正 是 对 基 于 gn
源于知识工程.根据对需求描述的精确程度又可以 将需 求分 析方 法分 为 两大类 : 式化 和非形 式 化. 形 目
前 的方法 主要 是对 来 源于 面 向对 象 的软件 工程 方法 的 研 究 , 面 向 对 象 的 方 法 发 展 而 来 的 一 些 面 向 从
Wo. 4No 1 12 .
Jn 0 6 a .2 0
20 0 6年 1月
文 章 编 号 :6 11 1 (0 6 0 —0 60 1 7— 5 3 2 0 ) 10 4 —3
面向 A e t gn 的软件开发 方法
柳 娟 , 姜 同强
( 京工 商大 学 计算机 学院 ,北 京 10 3 ) 北 00 7 摘 要 :随着 Agn 技 术 应 用领域 的扩 大 , et 产生 了一 种新 型的 软件 开 发方 法 —— 面 向 Agn 的 软 et
A et g n 的软件开发方法 , 使用非形式化的方法分析、
设 计 基于 主体 的系统 .表 1列举 了部 分面 向 Agn et 的软 件开 发方 法 , 以及 其特 点和 局限性 .
1 K AOS .1
Agn 技 术 的系统 的一 种设 计和 开 发. 该方 法 学是 et 对 面 向对 象 的软件 开 发方 法学 的发 展 .Agn 是具 et 有 自主性 、 动性 的智 能化 的对象 , 者都 强调 封装 主 两 的概念 , 使用 消息传 递 的通讯 方式 , 且可 以使 用继 并

20种软件架构风格

20种软件架构风格

1、管道过滤器风格(1)特点:①在管道过滤器风格下,每个功能模块都有一组输入和输出。

功能模块称作过滤器;功能模块间的连接可以看作输入、输出数据流之间的通路,称作管道。

②管道-过滤器风格的特性之一在于过滤器的相对独立性,即过滤器独立完成自身功能,相互之间无需状态交互。

③从解耦的角度:每个过滤器之间都是解耦的,每个过滤器都专注于自己的职责。

过滤器是独立运行的组件;过滤器对其处理上下连接的过滤器“无知”;结果的正确性不依赖于各个过滤器运行的先后次序。

(解耦的好处)解耦能够保持组件之间的自主和独立。

它的直接结果就是改动成本低,维护成本低,可读性高。

(2)优点:①由于每个组件行为不受其他组件的影响,整个系统的行为易于理解。

②管道-过滤器风格支持功能模块的复用。

(任何两个过滤器,只要它们之间传送的数据遵守相同的规约,就可以相连接。

)③基于管道-过滤器风格的系统具有较强的可维护性和可扩展性。

④支持一些特定的分析,如吞吐量计算和死锁检测等。

(3)缺点:①管道-过滤器风格往往导致系统处理过程的成批操作。

②根据实际设计的需要,设计者需要对数据传输进行特定的处理(如加密),导致过滤器必须对输入、输出管道中的数据流进行解析和反解析,增加了过滤器具体实现的复杂性。

③交互式处理能力弱。

(4)实例:①传统的编译器,一个阶段的输入是另一个阶段的输出。

②Unix和DOS中的管道操作符‘|’:将符号‘|’之前的命令的输出作为‘|’之后命令的输入。

2、事件驱动风格(1)基本思想:不直接调用一个过程,而是发布或广播一个或多个事件。

系统中的其它组件通过注册与一个事件关联起来的过程,来表示对某一个事件感兴趣。

当这个事件发生时,系统本身会调用所有注册了这个事件的过程。

这样一个事件的激发会导致其它模块中过程的隐式调用。

(2)从解耦的角度:系统组件松耦合。

在系统执行的过程中,可以并行处理不可预期的事件发生。

观察者模式:让多个观察者对象同时监听某一主题对象,当该对象状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。

CH7-面向AGENT的软件工程

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程序设计

面向Agent程序设计

程序设计 •Program Design【关键词】Agent程序设计 问题 措施计算机技术是当前时代发展的重要高新科技成果,并且随着科技体系的不断进步,计算机技术也在不断完善,在各领域中发挥出了越来越重要的作用。

在计算机技术中,软件工程开发是其技术核心所在,也是计算机技术应用的基础所在。

在计算机软件工程设计中,离不开Agent程序设计的应用,Agent程序设计的应用大大提升了计算机软件开发的效率和质量,是推动计算机技术发展的必然途径。

1 Agent程序设计的概念Agent程序设计也被称之为AOP,是当前计算机技术发展的重要基础,Agent程序设计是指在计算机软件程序设计环境中驻留的自主性操作执行指令,具有着驻留性、自主性以及社会性的程序技术特点。

Agent程序设计是在计算机技术发展停滞的现实条件下为推动计算机技术发展应运而生的程序设计体系,其始于1980年,在经过10年的发展后,在1990年时,Agent程序设计已经在计算机技术领域取得了较为优异的成绩,并随着计算机技术体系的不断发展,Agent程序设计的理论体系也不断完善,其应用范围也越来越广泛,大大推动了我国计算机技术的发展。

在Agent程序设计过程中,Agent程序设计能够在问题出现的第一时间对问题进行分析,帮助程序设计人员对问题产生的原因进行探究,辅助程序开发人员将问题顺利解决,提升程序设计开发的速度。

Agent程序设计在进行问题分析时,其分析问题的原理是动态性分析的方式,能够对复杂的程序问题进行多方面、全方位的深层次分析,不仅为计算机技术发展提供了巨大推动力,更为企业工作过程中解决了大量的工作问题,使Agent程序设计的应用领域愈加广泛,并在各行业中逐渐向着实用化的方向而发展。

2 Agent程序设计的理论框架面向Agent程序设计文/瞿梦菊在Agent程序设计的框架结构组成中,并不是单一的结构组织,而是多层次的结构框架,共同组成了Agent程序设计。

面向Agent的软件工程方法学

面向Agent的软件工程方法学

・综述与评论・面向Agent 的软件工程方法学李 蛟,冯志勇(天津大学电子信息工程学院,天津300072) 摘 要:软件Ag ent 技术正在成为软件开发领域中一个新的发展方向,现在大多数的A gent 研究都是以创建Ag ent 应用程序为目标,即用A gent 的概念创建更为强大,更具灵活性和智能性的程序。

但是随着Ag ent 技术在各种应用中的发展和成熟,就需要在方法论上对之进行指导。

因此,面向Ag ent 的软件方法学就成为Agent 研究中最活跃的一个研究领域之一。

本文通过对几种在面向Agent 软件工程中使用的主流方法学进行分析,指出了Agent 方法学在面向Ag ent 软件系统开发中的重要性。

与此同时,通过对面向对象和面向Ag ent 的方法学比较,指出现有的面向对象方法学的一些不足,以及如何通过面向Ag ent 的概念进行改进。

关键词:Agent;软件工程;面向对象中图分类号:T P311 文献标识码:A 文章编号:1002-2279(2004)01-0001-04Agent Orien ted Software Engineering MethodologyLI Jiao,FENG Zhi-y ong(School of Electronics I nf ormation E ngineering ,T ianj in U niv er sity ,T ianj in 300072,China ) Abstract :T he technology o f so ftw are ag ent is beco ming a new trend in softw are dev elo ping field.Now m ost of the r esearches of Agent aim at building the Ag ent applications.We can use the agent co ncept to build stro ng er ,more flexible and mor e intellig ent applications .Ho w ever w ith the developing and maturing o f the Agent technolog y methodology is needed to g uide how to build these applicatio ns.T hus Agent-Oriented softw are metho dolo gy is one of the m ost active researchfields in Agent -Oriented resear ch .In this paper w e analy sis som e mainstream methodologies inAgent-Oriented Softw are Engineering and point o ut the im po rtance of Ag ent metho dolo gy in Agent -Oriented sy stem developing .Meanwhile w e point o ut the disadvantages of the ex tant Object-Oriented Desig n methodolog y by comparing the Ag ent-Oriented metho dolo gy with the Object -Oriented m ethodo logy and how to impr ove Object -Oriented m ethodolog y w ith the concept of the Agent.Key words :Agent;Softw ar e eng ineering ;Object-Or iented1 前 言在过去的二十多年中,通过不断地在复杂程序建模和开发中使用更自然、更贴近现实的诸如对象的抽象概念,软件工程取得了显著的进步。

面向agent的软件开发

面向agent的软件开发

21
2.1.1 agent的基本属性
自发性


表现出某种目标指导的行为,在某些情况下它能 够自发产生目标,继而采取主动的行为。 例如杀毒软件自发下载最新的病毒数据
22
2.1 什么是agent
agent例子

人工生命agent – 动态实体 – 自主:游动 – 反应:外部刺激 – 自我成长
23
2. 基本概念和思想

开放式系统的开发
– – –
开放式系统特点:无确定边界,系统成分不断变化, 异构 例子:空中交通管制系统,操作系统等等 需要计算实体具备驻留性,反应性,社会性等特征
34
2. 基本概念和思想
2.7 应用特点和现状(3)

复杂系统的开发



管理和控制复杂度的有效方法:抽象和模块化 分而治之的问题求解方式,新的问题求解方式 agent 的概念抽象,高度自治, 合作和多agent系统体 现了“分而治之”的问题求解模式
11

主流软件开发技术不能有效控制复杂度
1. 产生和发展背景
1.3 对软件开发技术提出的要求(3)

如何理解和认识这类系统 - 建模问题 如何提供技术和工具支持系统实现- 技术手段 如何开发这类系统(规范、设计等) - 开发方法 如何为其提供支撑理论 ……
12
1. 产生和发展背景

因此,基于agent的软件开发方法体现了一种新 的软件开发范型
25
2. 基本概念和思想
产生一组新的概念

多agent系统(MAS)

由一组具有一定资源和能力、相对独立且交互合作的 agent组成的系统

基于UML的面向Agent建模方法UMAM

基于UML的面向Agent建模方法UMAM
中 图 分 类 号 :T 3 文 献 标 识 码 : A 文 章 编 号 :1 7 -7 9 ( 0 0 8 0 8 — 0 P 6 1 5 7 2 1 )0 2 1 8 2
0引言
方法 比面 向对象 方 法具 有 更好 的通 用性 、移植 性和 扩 展性 , 并且具 有 智能 性 ,采 用 将系 统抽 象为 具有拟 人化 的A e t gn 集合 的分析方 法 ,适用 于各种 大 型复 杂 系 统 。但 是 目前 关 于A e t 统 的 设计 还 不 是很 成 熟 ,尤 其 是面 向 g n系 Ae t g n 的建模 语 言和程 序 设计方 法等 方面 还有待 研 究 [] 2。 在开 发A et 统时 , 由于A et 同于 传统 的模 块与 对象 , 当系统 开 gn 系 gn 不 发人 员在 开发A e t 统 时,没 有办法 使用 传统 的结 构化 或者 面 向对 象分 析 gn 系

要 : 根据面 向对 象和面 向A e t g n 程序 设计 的关 系以及建模语 言u L M 的优 点,通过扩 展u L u L M 和A M 的符号 和图形 ,构建 以u L u L M 和A M 为基础 的面向A e t g n 建模 ;U L M M M :U A
与设计 方法 ,准 确地 描述 每个A e t g n 的特 性 与互 动行 为。尽 管这 几年 来研 究 人 员 已 经 提 出 了 一 些 面 向 A et 统 的 分 析 与 设 计 方 法 (GI 、 gn 系 AA
P oe hu 、T oo 、M S等 ),但 是 在这 些 方法 中 ,都 是用 自己所 创 立 rm te s rp s AE 的符 号或 图形 来描 述 每个 阶 段的 过程 ,而 这 在进 行跨 团队开 发 时,可 能会 因为 团队 之间 所使 用 的建 模语 言 不 同,造 成 沟通 的 困难 ,降 低 团队 的开 发 速 度 。 另外 , 有些 专 为A e t g n 系统 所 制 定 的 图形标 记 ( :AM )仅 有 图 如 UL 形 ,没 有 提 出其 方 法 ,因 此 系统 开 发 人 员 无 法 系统 地 使用 该语 言 进 行建
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Industrial & Science Tribune 2011.(10).2
·77·
产业与科技论坛 2011 年第 10 卷第 2 期
烧结生产引起的大气污染及防治措施
□郭伟鹤 吴倩倩
【摘 要】通过对烧结生产中需的原料、燃料、溶剂以及生产使用过程中相互关系的分析,深刻理解烧结生产过程的基本概念 和核心原理,掌握烧结生产的工作流程,建立烧结材料生产可持续发展观; 同时了解烧结过程中产生的主要污染物的 类型和形成原因以及其对大气产生的不良环境影响,做到有针对性地进行防治措施,依靠先进科学技术,清洁生产, 更好地解决烧结生产中大气污染严重的现状,在不断的努力创新下,探索出一条环境治理与生产同步发展的新道路。
但是随着系统 越 来 越 庞 大 复 杂,而 且 广 泛 呈 现 出 分 布、 自适应、动态 可 扩 展、开 发、异 构 并 且 难 以 预 测 等 复 杂 性 特 征[2],尤其是当前计算机网络的迅速发展和各种分布式软件 的需求不断涌现,面向对象已经不能很好的解决当前软件开 发中出现的各种问题。由此人们想到了源于分布式人工智 能的面向 Agent 技术,来解决复杂的、分布的现实世界问题。 本文首先介绍了面向 Agent 的概念和特点,并从软件设计方 法入手介绍了和分析了几种面向 Agent 的软件设计方法。
李红真( 1972. 1 ~ ) ,女,河北阜城人; 河北工业大学实验师; 研究方向: 计算机应用
自上世纪 60 年代以来,计算机软件开发突飞猛进,出现 了很多软件设计 方 法,从 面 向 过 程 的 设 计 方 法,到 面 向 模 块 的设计方法,再到现在主流的面对对象的设计方法。从面向 对象的设计方法开始,软件开发不再单纯的从通用性和重用 性来考虑,更要将客观世界和程序设计的思想相结合。面向 对象技术是传统软件开发技术的自然演进,将世界中的所有 事物看成对象,将程序看成是离散的、相互通信的对象集合, 使人认识 世 界 的 思 维 方 式 与 计 算 机 求 解 问 题 的 方 法 更 接 近[1]。
控制自身行为。 3. 社会性。Agent 能与其他的 Agent 或者人进行交互,
协同完成自身问题的求解或者帮助其他 Agent 完成相关活 动。
4. 移动性。Agent 具有在不同网络环境中自主移动的能 力,并且在移动过程中自身内部的状态保持不变。
二、面向 Agent 的软件设计方法 ( 一) 基于对象技术的设计方法。借助于面向对象软件 开发方法,将 Agent 视为一种特殊的对象,通过对现有面向对 象软件设计方法,以及建模语言( 例如 UML) 的扩充,来支持 对基于 Agent 的系统进行建模、分析和设计,代表性的方法有 MaSE,ODAC,Massive,AOR,Prometheus 等。 以 MaSE 为例,它是一种多系统的建模方法,具有通用和 支持异构的优点。将 Agent 视为具有并发和自主行为的特殊 对象,利用已有的面向对象设计方法来进行建模。MaSE 充 分借鉴了已有的成熟的面向对象的技术和经验,但是在开放 式和不可预测的系统中,依然显的力不从心。 AOR 模型接近于信息系统的设计,它是广泛应用的数据 库模型,是实体 - 关系( ER) 元模型和关系数据库( RDB) 模 型的扩展。AOR 模型有能力将除静态实体外的 Agent 之间 的关系模型化。其中 ER 元模型的目的是实现信息系统中不 同类型的数据的 关 系 转 化,这 种 变 化 支 持 了 静 态 对 象,但 是 减轻了活动 Agent。 ( 二) 基于知识工程的设计方法。Agent 的概念起源于人 工智能( AI) ,该类别的方法借助于知识工程( 如人工智能、认 知科学等) 领域的概念、思想和技术对基于 Agent 系统进行建 模、分析和设计。一般是将 Agent 视为由各种认知部件所组成 的意向系 统,如 信 念、目 标、意 图、规 划 等,代 表 性 工 作 包 括: Tropos,DESIRE,M AS Common KADS,Styx,AAII 等[4]。 其中,Tropos 方法建立在两个关键的特征上: 在软件开发 过程中使用了代理、目标、规划、资源和其他不同层次的概念 等基本原语; 在分析与建立系统有关的环境时,Tropos 将需求 分析和规格说明作为一个关键的部分来看待。 Tropos 方法有如下特点: 将软件开发过程中的分析和设 计合二为一,并将所有的需求分析划分为早期和后期两个不 同的阶段; 并且以 Agent 的概念和认知为中心,建立一个高度
一、面向 Agent 的概念 ( 一) 面向 Agent 的基本概念。Agent 是指处于某一环节 中封装的计算机 系 统,为 满 足 其 设 计 目 标,具 有 在 环 境 中 灵 活、自主行动的能力[3]。具体的说,Agent 作为一个自主的个 体,在一定目标驱 动 下,具 有 某 种 对 其 自 身 行 为 和 内 部 状 态 的自我控制能力,能够不受人或其他 Agent 的直接干预,可以 尽可能准确地理解用户的真实意图,帮助用户准确快捷的完 成指定的任务。面向 Agent 技术的基本观点是: 将现实世界 看成一系列自主 Agent 按一定方式组成的社会,Agent 之间可 以进行交互与通信,完成各种复杂任务。这种抽象机制是对 分布、动态、开放、复 杂 的 现 实 问 题 在 软 件 设 计 中 自 然、直 观 的模拟,与现有其它软件抽象技术相比,抽象层次更高,更易 于被理解和接受。 ( 二) 面向 Agent 的特点。 1. 主动性。Agent 能遵循事先约定的协议,对未来目标 采取主动行为,表现出面向目标的行为。 2. 自主性。Agent 运行时不直接接受他人的控制,对自 己的行为和运行状态有一定的控制力。其本身能根据其内 部状态和外部环境决定自身状态,无需外界的干涉来决定和
产业与科技论坛 2011 年第 10 卷第 2 期
浅谈面向 Agent 的软件设计方法
□张东岭 李红真
【摘 要】面向 Agent 是一种新的软件设计方法,本文论述了 Agent 设计的基本概念和特点,介绍了三类设计方法,分析讨论了 各种的特点和适用范围。
【关键词】面向 Agent; 设计方法; 特点; 适用范围 【作者简介】张东岭( 1972. 4 ~ ) ,男,河北肃宁人; 河北工业大学实验师; 研究方向: 计算机应用
相关文档
最新文档