软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
在现代社会中,软件应用于多个方面。典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,也提高了工作效率和生活效率 。下面小编给大家准备了一篇软件工程的范文供大家参考:
题目:面向Agent的软件设计模式
摘要 :在近几年的中,Agent技术收到了人们大量的关注。Agent可以理解为是一种具有创新性的软件开发类型,人们对其的研究也逐渐加强。设计模式可以理解为在一类特定的环境中反复出现的一些问题,通过人们的发现和分析找出应对通用问题的解决措施。研究出的设计模式可以在软件开发上有极大的作用,因此其在软件工程中被得到大量的使用。本文将要探讨的内容是面向Agent的软件设计模式,旨在为软件设计领域有更好的发展。
关键词 :Agent软件 ;软件设计模式 ;Agent软件设计模式
前言
就目前的形势而言,Agent技术在市场上的需求量还是比较大的,但是人们对于agent技术还不够成熟和完善,人们都在致力研发该技术。设计形态是每个问题技术实现都具备的,不同种类的软件也都拥有不同的设计模式。为Agent设计模式可以最大程度化的实现其技术潜力,发挥最大化的作用,为软件工程提供更大的帮助。而如何为Agent技术设计合适的模式则是需要人们探讨的。从大体来说设计模式还是应该根据Agent技术的特点进行设计,接下来文章也将针对该问题进行分析和研究。
1 Agent技术解析
1.1Agent概念。
由于Agent概念可以从多种方面进行定义,本文选择了较为容易理解的一种进行解释。该解释是从人工智能的角度对agent技术进行定义的。
Agent是指自主、灵活的一种执行动作,同时执行的动作能够令目标的实行主体感到满意。其中自主灵活的执行动作三个特点,分别是反应性、主动性和社会性。该概念也总结了Agent技术的外部行为方式和特点。
1.2分析面向对象
软件工程与面向Agent软件工程。首先从系统构成来看,两者的系统结构主体不同。
Agent技术是由具有自主形态的实体计算Agent所构成的,而对象技术则是由不具自主性的计算实体对象构成的。另外Agent技术可以自动感知周围环境的变化情况,但是对象技术都是被动的接受环境变化的信息。
从结构关系来看,Agent技术的主要关系是社会性的关系,对象技术则更偏重于继承、关联等一些类似的联系。除了以上三点的不同,Agent技术和对象技术还可以从协作实质和协作结果两者进行区别。
1.3个体Agent的模式。
个体Agent的模式一共有三种。分别是以下几点 :①环境感知模式,该模式的主要目的使A gen t更加完善的解决环境感知类的问题。②状态模式,该模式旨在使Agent解决在其内部发生状态变化时,通过灵活改变其本身的行为方式的问题。③单件模式,该模式的存在是为了保证在一个多Agent系统中,一个Agent只能扮演一个特定的某个单一的角色。
2 面向Agent的软件设计模式
2.1Gaia面向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类进行不同的聚集⑦根据此前操作,进行合理的系统设计。
2.3数据库信息系统的建模。
Agent对象关系(AOR)模型与信息系统设计的过程有些相类似。作为运用的数量最多的数据库模型之一,AOR的主要目的是对ER模型进行一定的扩充。除了对ER模型的扩展,AOR模型也被人们证明了能够将某些类型Agent之间的联系模型化。在该模型下,Agent的要求都可以被当做一个委托。整个模型下的责任和许可与Gaia的方法相符
。
3 面向Agent的软件设计模式及其分类
3.1组织结构型模式。
组织结构型模式的主要功能是将出现在多Agent系统组织结构中的各类问题进行合理的解决。在模式中,每个Agent都有自己的角色,将其扮演好。同时,每个Agent还要发挥其特有的作用,做出一些符合角色的相应行为。
各种社会关系是Agent代表的角色之间联系的主要路径,同时agent扮演的角色都会有一定的区别不同,同时角色与角色之间也会存在一些不可避免的关联性,这些错综复杂的关系就构成了组织拓扑结构。组织的拓扑结构对需要解决问题的影响是组织结构型模式解决的典型问题。
3.2交互协作型模式。
解决如何实现、保持或方便Agent之间的交互是交互协作型模式的主要目的。除此之外还有为了达到Agent之间的行为不出现冲突问题而进行不同的协调。如果能够科学、合理的运用该模式也能有效使系统的运行性能得到显着提高,在解决复杂问题时可以利用合作求解。当然该模式也有一定的缺点,例如,当Agent改变原本的位置后,交互就得不到保持。严重的Agent之间可能还会出现欺骗的问题。
4 总结
现代社会,技术一直在不断的发展,随之而应的Agent技术的运用也越来越广泛。在该领域的创新和研究应该不断的加强。虽然该领域的一些概念和具体操作比较抽象、难以理解,但如果能将其深入研究,就一定能对软件工程领域起很大的帮助。同时也希望有关的研究人员能够越来越重视该问题。