面向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软件工程的对比分析。

图1

1.3 个体Agent的模式

个体Agent的模式一共有三种。分别是以下几点:

1.3.1环境感知模式,该模式的主要目的使Agent更加完善的解决环境感知类的问题。

1.3.2状态模式,该模式旨在使Agent解决在其内部发生状态变化时,通过灵活改变其本身的行为方式的问题。

1.3.3单件模式,该模式的存在是为了保证在一个多Agent系统中,一个Agent只能扮演一个特定的某个单一的角色。

2、面向Agent的软件设计模式

2.1 Gaia面向Agent的分析和设计方法

为了更好的分析Agent软件设计模式我们可以利用Gaia的理论进行分析。虽然Gaia的理论在某些方面存在着一些局限性,但是从另一方面来说Gaia在Agent系统中有值得人们挖掘的某一开发功能。其次,将Gaia运用到Agent软件设计的过程中可以分为微观和宏观。在使用Gaia方法进行Agent设计共有以下几个过程,首先是在某一个Agent类中画入某个角色。并在这之后,将所制作每一个类的Agent进行编辑相应号码。接着在Agent中制作一个与角色特点想符合的最佳模型。最后再建立一个合适的模型解释Agent之间的关联性。

2.2 多Agent软件分析和设计方法

多Agent软件分析与Gaia的分析方法有些类似,但也还是有些不同。多Agent软件设计研究的深层次内容是对利用多Agent软件工程进行支持,并使用其进行工具的自动编码。与Gaia相比,它还具有一个特别的作用传送对应和不多点,此作用属于Agent的交互作用。

多Agent软件分析一共有七个过程分别是:①找到目标②申请合适的事例③将角色进行训练,到达最佳情况。④建立相对应的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软件工程的对比分析。 图1 1.3 个体Agent的模式 个体Agent的模式一共有三种。分别是以下几点: 1.3.1环境感知模式,该模式的主要目的使Agent更加完善的解决环境感知类的问题。 1.3.2状态模式,该模式旨在使Agent解决在其内部发生状态变化时,通过灵活改变其本身的行为方式的问题。 1.3.3单件模式,该模式的存在是为了保证在一个多Agent系统中,一个Agent只能扮演一个特定的某个单一的角色。 2、面向Agent的软件设计模式 2.1 Gaia面向Agent的分析和设计方法 为了更好的分析Agent软件设计模式我们可以利用Gaia的理论进行分析。虽然Gaia的理论在某些方面存在着一些局限性,但是从另一方面来说Gaia在Agent系统中有值得人们挖掘的某一开发功能。其次,将Gaia运用到Agent软件设计的过程中可以分为微观和宏观。在使用Gaia方法进行Agent设计共有以下几个过程,首先是在某一个Agent类中画入某个角色。并在这之后,将所制作每一个类的Agent进行编辑相应号码。接着在Agent中制作一个与角色特点想符合的最佳模型。最后再建立一个合适的模型解释Agent之间的关联性。 2.2 多Agent软件分析和设计方法 多Agent软件分析与Gaia的分析方法有些类似,但也还是有些不同。多Agent软件设计研究的深层次内容是对利用多Agent软件工程进行支持,并使用其进行工具的自动编码。与Gaia相比,它还具有一个特别的作用传送对应和不多点,此作用属于Agent的交互作用。 多Agent软件分析一共有七个过程分别是:①找到目标②申请合适的事例③将角色进行训练,到达最佳情况。④建立相对应的Agent类⑤创建具有交互作用的Agent会话⑥将

面向Agent的软件设计模式

CN 43 1258/T P ISSN 1007 130X 计算机工程与科学 COM P U T ER EN GIN EERIN G &SCIEN CE 2011年第33卷第6期 Vo l 33,N o 6,2011 文章编号:1007 130X (2011)06 0072 07 面向Agent 的软件设计模式 * Agent Oriented Softw are Design Patterns 毛新军,常志明 MAO Xin jun,CHANG Zhi ming (国防科学技术大学计算机学院,湖南长沙410073) (School of Computer Science,National University of Defense Technology,Changsha 410073,China)摘 要:设计模式针对一类在特定上下文中反复出现的问题给出了通用解决方案,模式的提取和重用有助于提高软件开发的效率和质量,其思想和方法已在面向对象软件工程中得到广泛应用和验证。我们认为同一问题采用不同的实现技术往往具有不同的设计形态,不同软件开发范型也有其各自不同的设计模式。作为一种新颖的软件开发范型,近年来面向A gent 软件工程的研究取得了长足进展,如何提高软件Agent 技术实用性,发挥其技术潜力,扩大其应用范围成为当前人们关注的焦点。本文将模式思想引入到面向Ag ent 软件工程,针对软件Ag ent 技术的特点,从组织结构、交互协作和个体Agent 体系结构三个视点提出了一组面向Agent 的软件设计模式,以支持多A gent 系统的设计;并进一步给出了面向Agent 设计模式的描述框架,进行了典型设计模式和应用案例的分析。 Abstract:Design pattern g iv es g eneral solutio ns to the repeatedly occuring problems on certain co n tex ts.It has been w idely used in object oriented softw are eng ineering and pro ved to be helpful to im prov e the quality and efficiency o f softw are dev elo pment.We believe,the same design pattern w ill hav e various design details w hen ado pting differ ent implementation techniques,and different softw ar e devel o pm ent paradigm s have their design patterns.As a novel paradig m,ag ent o riented so ftw are engineering has made great progr ess.N ow adays,many focuses have been put on how to improve its practices and to ex tend its applications.In this paper,pattern appro ach is integrated w ith ag ent o riented softw are engi neer ing.Based o n the characteristics of the agent techno logy,a number o f agent oriented design patterns have been pr esented from m ultiple view points such as structure,collaboration and ag ent architecture.A description framewo rk fo r agent oriented design pattern is presented.An analysis of the typical agent o r iented design pattern and its applicatio n case is conducted. 关键词:Ag ent;设计模式;多Ag ent 系统;面向Ag ent 软件工程 Key words:ag ent;desig n pattern;multi ag ent system;agent oriented softw are engineering doi:10.3969/j.issn.1007 130X.2011.06.015中图分类号:T P311 文献标识码:A 72 * 收稿日期:2009 05 20;修订日期:2009 10 26 基金项目:国家自然科学基金资助项目(60773018) 通讯地址:410073湖南省长沙市国防科学技术大学计算机学院 Address:School of Computer Science,Nation al Un iversity of Defens e Techn ology,Ch angs ha,Hun an 410073,P.R.Chin a

相关文档
最新文档