面向Agent的软件工程的现状与挑战探索

时间:2021-04-29 16:55:26 计算机软件毕业论文 我要投稿

面向Agent的软件工程的现状与挑战探索

  伴随软件构造的延展,新颖的Agent类别软件,也拓展了采纳范畴。Agent整合属性的软件技术,含有新框架下的原理及多重工程思维,这就供应了软件构建的有序路径。下面是小编搜集整理的面向Agent的软件工程的现状与挑战探索的论文范文,欢迎大家阅读参考。

  摘要:面向Agent软件工程是当下软件工程最前沿的研讨方向之一,这种零碎结合了Agent实际和技术,同时将软件工程的思想、原理和准绳相结合,爲基于Agent零碎的开发提供工程化手腕。最近几年,随着Web使用在Internet上的开展,同时加上软件开发社会化的需求,基于Agent的软件工程在学术界和工业界惹起了普遍的关注,本文次要论述了面向Agent软件工程的发生和开展背景,面向Agent软件工程的研讨内容,面向Agent软件工程的研讨现状,最初讨论了存在的成绩和面临的应战。

  关键词:面向Agent软件工程;基于Agent零碎;Agent实际;技术

  一、概念

  面向Agent软件工程,其任务原理是将Agent看作爲模型的构成条件,同时围绕对应的根本条件有条不紊的展开与零碎相关的系列活动,被以为是目前技术性较强的软件开发模型。不论是软件零碎还是使用零碎,它的外部构成都包括多个Agent,Agent表现出来的特点次要有自发性、反响性、社会性和自主性,属于行爲自控的行爲实体。Agent与Agent之间表现出来的构造关系较爲复杂,其作用是由高层互相交流来完成的,在这样的前提下到达零碎设计的预期目的。面向Agent软件工程针对零碎研发来讲,不只爲其构建了零碎平台,同时还完成了实际的提供和技术环境的提供。它次要经过零碎的模块分解,数据建模和笼统实际完成零碎数据的论述和管理,到达了零碎设计的根本要求和目的,这样更可以促进零碎难度的提升和灵敏性的添加,在此根底上还添加了维护性特点和重用性特点。面向Agent软件工程包括的根本思想与定义在实际论与软件工程全体规划处于同一个轨道线。以往的数十年间,软件工程一直在探究一套可以促进其研发才能的零碎,而这个零碎根本特点要表现出来自然笼统和功用弱小,在迷信管理的前提下协助零碎建模工程的完成和技术改良。面向Agent软件工程侧重反映出来软件的笼统特点和研发技术程度。

  二、研讨现状剖析

  (1)技术方面。面向Agent的需求工程不只交融了Agent同时还交融了Agent零碎定义本身携带的特性,这些特性爲零碎的建模及研讨发明了研发条件。相关范畴的剖析触及到的学科不只有认知学,同时还兼具有社会与组织两个学科。罕见的研讨内容触及到的框架是i3框架、ALBERT、Tropos、NFR、RoMAS等。最近一段时期以来,研讨者找到了少量面向Agent的建模言语其目的是爲Agent零碎描绘提供支持,爲零碎描绘等任务提供协助,罕见任务内容包括AgentUML,AML,MAS2ML,OrgS,CAMLE等。由于软件Agent具有的特性和外部结构模块的其他特点,面向Agent软件惹起研讨者关注的侧重点是其使用局部。经过运用面向Agent的软件的任务方式,面向Agent软件开收回现了方式多样的与其绝对应的零碎模型,所以前提是技术手腕必需具有只要这样才可以到达零碎规则的锦上添花的要求。(2)管理方面。以后经过运用面向Agent软件工程停止项目研发的效果较少,人们对来Agent软件工程内在需求知之尚少,同时也不理解该软件在适用进程中详细要求是什麼,所以未深化展开相关的探究。(3)工具方面。处于工具形态下的面向Agent软件表现出来的形态较爲灵敏。不断到如今使用范畴和研讨范畴推向市场的Agent的CASE工具无数十种之多,在此根底上可以爲面向Agent软件工程各个研讨环节发明更多的研发条件。

  2.1面向Agent的开发办法

  基于Agent以及其他相关概念、借助于面向Agent的软件开发思想对零碎停止工程化开发的办法学是面向Agent的开发办法,包括面向MicrosoftAgent的剖析办法、面向Agent的设计办法。它提供了相应的建模言语以及构造化和良定义的进程对基于Agent零碎(包括使用零碎以及软件零碎)停止全方位的剖析、描绘与建模,支持软件寿命运用中软件设计和需求剖析(从群众化需求的剖析)两个进程的软件开发任务。到如今人们曾经提出了近百种面向Agent的开发办法,并且陆陆续续有新的办法呈现。大局部办法是通用的,不限定完成技术平台和使用范畴;小局部办法是公用的,专门针对某个平台、特定的使用和某个完成技术。依照现无方法所需求的差别性和次要技术背景,可以将一切的面向Agent设计办法和软件剖析分爲以下三个方面。实践上基于Agent零碎停止剖析和设计的办法是以各种技术手腕集成在一同来停止的.。(1)基于对象技术。该类别的办法依托于面向某种软件开发办法,经过将Ag-ent视爲一种特殊的对象建模言语(尤其是UML)的扩大以及用现有面向对象软件开发办法来支持对基于Agent零碎停止剖析、建模和设计。(2)基于知识工程。对基于Agent零碎停止建模、剖析和设计的停止依托于知识工程(如人工智能、认知迷信等)范畴的逻辑概念、思想和技术。一种常用的办法是将Agent视爲由各种认知部件所组成的意向零碎,比方信心、目的、意图等。代表性任务包括Tropos,DESIRE,MAS2CommonKADS,Styx,AAII等。(3)基于组织思想。这种方法的思想根底就是社会学和组织学,并且用这两门学科中不详细的定义来叙说描画基于,在此前提下再对其停止剖析和建模,这些笼统的定义包括社会角色、社会组织以及组织成员共同恪守的规则、需求承当的责任等等。该方法的典型性任务有Gaia,AALAADIN,Ro2MAS等。①简直一切的建模方式对软件开发都有着很大的影响,次要是对开发的进程和水平协助,但是由于不同的建模方式运用的定义和言语都是不同的,所以这种协助的水平也不会一样。关于基于Agent零碎来说,每种建模方式都具有共同的了解看法。②假如用户面对的是Agent的开发办法,那麼就很难片面详细的掌握一切办法的优劣、之间存在的不同以及合适运用的场所等等。从而招致依据特点确定适宜的开发方式的难度大大添加。③虽然每一种方式都有劣势,但是简直没有一种方式能集中一切的劣势,有劣势的同时,也必定存在着一定的优势。④软件开发者之间和软件开发者和用户之间要想随时完成即时无效的沟通很难,由于虽然大局部面向Agent的开发办法都差不多,可是其本质还具有很大的差别。依据以上阐述可知,构成一个保准一致、具有很大劣势,还能被一切相关人员认可的方式,将是整个学术范围和工业范围内的努力方向。当然,这也是一个宏大的应战,由于这必需要把各个面向Agent的开发办法停止比照研讨,集中一切的有点,去掉一切的缺陷。

  2.2面向Agent的顺序设计

  面向Agent的顺序设计本质上是一种新型的顺序设计模型,它的根底是Agent软件零碎的开发,根本编程是Agent,而设计的目的就是Agent的运转单元。顺序言语关于面向Agent的顺序设计来说,是最重要的也是必不可少的一项任务。顺序言语是顺序员对编程改写目的零碎软件的根底。目前来看,相关人员曾经研讨出了几十种能协助面向Agent的顺序设计的顺序言语。经过剖析这些言语技术层面上的不同,的一个必要的、同时也是最根本的工具就是该顺序设计的言语。顺序设计员可以经过它对目的软件零碎停止编程和改写。到如今,人们总共提出了数十种。根据这些言语技术层面的差别性,可以大致对其停止如下分类:面向Agent的顺序设计言语笼统的分爲以下几类别。(1)以LISP技术爲根底。这种顺序言语以运用了LISP的语法方式而得名,它就是采用和LISP语法方式差不多的句子对Agent的组成局部停止表达,也包括对Agent零碎的行爲或许零碎之间相互交流沟通。运用这种实际零碎比拟严谨的语法零碎来停止编程和改写,关于进步Agent零碎的功用性有很大的协助。运用LISP的语法方式的任务分类有Shoham开发的AGENT20、还有Thomas开发的PLACA、以及Davies和Edwards提出的AG-ENT2K1。(2)基于逻辑技术。逻辑零碎包括一阶谓词逻辑以及时序逻辑等等,逻辑零碎也可以作爲Agent的顺序设计言语来运用,在顺序编写的时分,就用逻辑零碎来对Agent零碎的各种方式以及外部组成里停止表述和定义,例如相关知识、意图和信心、原子举措和规则等都可以用逻辑技术来表述定义。逻辑技术的实际零碎和语义定义都相当严谨。因而运用了逻辑技术的Agent零碎可以作爲定理证明器来运用,Agent零碎的任务进程也可以看做是一个证明定理的进程。它的典型代表有由Fisher提出的并发METATEM、由Giacomo和Lesperance等人提出的CON-GOLOG、由Hindriks等人提出的3APL等等。(3)基于对象技术。此项面向Agent顺序设计的言语是在对拓展原来顺序言语的根底上,运用了面向对象的软件开发技术和软部件技术而构成的一种Agent零碎顺序言语。它属于在言语级上对Ag-ent零碎顺序言语提供支。通常状况下,这项技术都是把Agent零碎当成一个特有的对象,用Agent外部功用的预定义软部件来编程和完成Agent零碎,它的前提是运用的软部件必需是一组曾经封装的特殊类。运用这种技术,可以应用预编译生成由面向对象顺序设计言语(如Java)所描绘的顺序代码了,也可以把用户编程间接表述成能运转的代码,并且完成其在目的平台上运转的目的。最终生成可以运转的目的代码,还要用面向对象顺序设计言语编译器对其停止编译。到2000年爲止,面向Agent零碎顺序言语方面的研讨阅历了一个由活泼到寂静的进程,影响研讨现状的次要要素就是技术成绩。到最近几年,这方面的研讨又再次掀起热潮,由于人们曾经清楚顺序言语的设计是软件开发顺利停止的重要保证,而且是不可或缺的一环。Agent零碎零碎自身功用性和适用性的进步,也必需要树立在顺序言语的不时更新换代上。到目前爲止,相关人员研讨制定出的Agent零碎顺序言语,通常都有上面几个特征:①原型化。顺序言语自身就是曾经固化的知识零碎,适用性小。②研讨性。顺序言语并不能爲人类工业化详细效劳,只是用来检验一些实际能否正确可行。③非商业性。顺序言语言语目前的开发零碎环境都有待改善,其可行水平和简便水平方面的目标还不高。

  2.3面向Agent的CASE工具和环境

  我们把协助软件开发者愈加疾速有家高效的完成Agent零碎的一组软件,称作面向Agent的CASE工具和环境。它可以无效支持Agent零碎在原有的定义和技术的根底上,对Agent零碎停止开发,比方它可以爲开发提供需求剖析、软件设计、零碎完成和验证等等。最近几年年,有关这项技术的研讨逐步升温,到如今爲止,学术范围和工业范围曾经发布了数十种面向Agent的CASE工具和环境,而且其品种还正出现不时增多的趋向。虽然其品种单一,特点也各有不同,可是总体来看AgentCASE工具和环境可以分红上面这几类:(1)开发包和可重用库。开发包与可重用库的运用在很大水平上浪费了软件开发本钱。关于Agent软件开发也是一样。关于当下主流的软件开发技术,如针关于软件言语开发类的Java、C++等。其可以经过软件开发包和可重用库如JATLite,MicrosoftAgent完成二次开发。完成创立Agent的软件零碎(包括Agent类、Agent接口)的软件重塑,从而集成可用的软部件零碎。(2)体系构造框架。面向Agent的体系构造框架随着计算机软件的开展是十分普遍的,而针关于CASE工具环境的构造数目也是十分多的(如OpenAgentArchitecture,JAFMAS等)这类工具框架的次要作用就是构建软件运转机制,完成外部体系的运作,构建疾速通道Agent。(3)开发工具集。开发工具集任务环境通常只要独立一个,这样是爲了前期处置零碎的完好性和一致性。次要代表有AgentBuilder,Zeus等,其次要价值是用以支持软件开发人员对目的软件零碎停止剖析、设计、完成、部署和测试等。(4)根底设备战争台。根底设备战争台次要是爲面向Agent的CASE工具和环境提供效劳,次要包括通讯效劳、平安效劳、目录效劳、挪动效劳等在类的根底效劳,目前在我国次要盛行的面向Agent的CASE工具和环境次要有Voyager,ADE,Grasshopper等。综上所述,在对面向Agent的CASE工具和环境的实际研讨方面我们获得了久远的立足,但是就运用价值和运用状况来说,还是一个未知数。因而我们就要防止当下基于Agent零碎开发进程中存在的诸多成绩和缺乏。例如①人机交互的困难;②对象混乱,没有完成一对一的运用形式;③缺乏明白的办法论支持;④市场通用价值。

  三、成绩和应战

  面向Agent软件工程远未成熟,离工业化、大规模的使用尚有很大的差距,还不能爲广阔软件开发人员所承受,尤其是要成爲一种主流的软件工程化开发技术还面临着一系列应战性的成绩。

  3.1根底实际

  人们很早以前就看法Agent实际的重要性并于1963年开端萌生了Agent实际研讨的研讨思想,但是晓得20世纪90年代年先人们才真正意义上上的注重起来并着手开端研讨。自从人们看法到Agent实际的重要性当前,少量的科研人员不时对其停止研讨,无论是Agent的实际还是详细的实践使用人们丝毫不放过任何可以停止研讨应用的方面。鉴于整个软件零碎的质量的好坏受Agent的功能的影响,在我们实践通讯中就要按不同的要求设计出高功能和高质量的软件零碎。关于用户的不同要求的用户装置不同大小和功用的零碎。因而,关于Agent实际的根底实际研讨必需掌握得十分可靠才行。晚期人们研讨的这个Agent实际模型对原理停止了合理详细的解释,它次要的根本实际根底就是他把微带辐射单元看成了一个在程度方向上不会发生变化的线状的BDI逻辑和模型,而在长度的方向上,电场停止的时余弦变化。我们这样就可以把他看做是拥有两个开路端的原型化言语AGENT20及其解释器。关于这个等效的解释器,我们可以把贴片表示爲,且他们做的是相反方向的鼓励并且都是向空中上方的半空停止辐射的缝隙。不只如此,迷信家还给出了停止这个复杂计算的计算公式,这个公式不需求停止少量的数据采集和计算,只适用于工程上的计算,但是只可以运意图图实际和自主计算实际这两品种型。根底实际的研讨关于面向Agent软件工程而言是极爲重要,他们将爲面向Agent的工程理论技术以及工具的研讨与开展提供实际指点并奠定扎实的实际根底。

  3.2关键技术

  (1)软件开发方式。通常状况,软件开发方式次要是言语建模与进程开发的无机交融的进程。针对建模言语来说,假如技术规范进一步一致,那麼我们可以完善对应的针对Agent的建模言语。这要在言语表达才能与言语简洁性之间做出考量,包括方式化以及半方式化的言语表义根底,展露多视角、多非详细方面的思想,给予适当的言语设备以表示在Agent零碎根底上的特性,比方自然笼统和封装这两方面,可以在维持繁琐Agent零碎根底上停止效果性明显的建模。针对建模进程来说,必需给予明白的释义进程以维持针对Agent零碎的软件开发项目。特别是由于在软件开发中经常会呈现非同一笼统层次、非同一视角的该零碎形式,但是众多零碎形式从内在逻辑上讲是不可联系的,所以必需给予迷信的技术援助以维持形式的转化,必需针对形式间能否分歧做出抽查测试。(2)软件体系构造和设计形式。以后,我们对在Agent零碎根底上的软件形式层次讨论还不够深化。一些针对Agent零碎的软件开发方式与Agent类零碎的技术方式的详细施行是经过根底模板来完成的。假如用对象类和对象来比喻Agent类和Agent的话,那麼对象类是Agent类,对象是Agent。可以这样说,在Agent零碎软件模板和Agent根底之上的两者关系不但是实践比例关系,还可以包括静态绑定之间的关联性,来实在显露Agent的相关特性、展示Agent技术优点和顺应非静态、非封锁零碎研发的需求。除此之外,我们更要经过其他迷信办法以讨论、设计规划与阐释在Agent零碎根底上的软件全体层次,还要凝练和总结出各式各样的设计规划模板。我们在讨论设计规划模板和软件重新的时分,必需要立足于Agent软件开发建立产业,这样的普遍运是非常重要的。(3)顺序设计思想和言语。目前,针对Agent零碎设计开发的言语难以满足用户的需求,爲数不多的受众是实际界的学者和研讨员。同时,运用针对Agent顺序设计开发的言语零碎在消费市场上并不多见,远远跟不上C++与Java的运用水平,它还是不成熟的技术,因此吸引不了许多软件任务者的喜爱,也无法打入软件工程的宽广开展空间。我们对Agent零碎设计开发的讨论还不够深化,如今无论是实际界和消费中还没有呈现针对Agent顺序设计开发理念的零碎,以控制Agent设计言语开发和编写后果软件零碎进的顺序。一些零碎设计言语的开发是依据人工智能专家的理念发生的。虽然该言语在详细运用功用上可以略微顺应针对Agent顺序设计的需求,但是针对零碎本身的简易适用性没有注入很多精神停止研讨。针对这方面的实际和理论探求需求尽能够吸收自主研发的Agent执行机制和该零碎的全体层次的相关经历。

  四、结论和进一步研讨

  针对Agent的软件设计开开展现了和如今不同的次要采用的技术思想办法。将此用在维持繁琐零碎的工程设计研发上,既是软件开发技术的全新尝试和典型形式,同时也爲网格、普适计算与语义Web等相关研讨给予了良好的范例。所以,这几年实际界与其他迷信界非常喜爱针对Agent软件工程的研讨任务。有的人断言,这是一次全新的工业技术反动。针对Agent软件工程设计研发的实际研讨,Agent软件工程不是一个独立的研讨分支,其次要贯串了其他学科的很多知识。在技术手腕上交融了当下研讨最爲抢手的学科。例如社会经济学、组织行爲学、认知迷信等。使得Agent软件工程复杂的运算零碎失掉了简易处置。随着学科之间的联络愈加普遍,Agent软件工程也显示出了本人的学科价值劣势。比方,在虚拟计算机研讨范畴,就应用到了Agent的概念和思想。其起到的作用将愈加将计算机的散布资源完成按需整合。这极大的将面向Agent软件工程的使用价值推向市场化。一方面,计算机等计算与Agent软件工程的无机交融将会拓宽Agent软件工程的使用范畴;除此之外,计算之间的搭接显露了Agent软件工程的使用缺口和运用价值定向。使得今后的Agent软件工程研讨愈加趋于方向化,目的研讨。这将会使得爲面向Agent软件工程走向大规模、工业化使用提供宽广的使用背景。

  参考文献:

  [1]潘卫华,潘卫红,孙淑琪.挪动Agent技术在散布式数据库零碎中的使用[J].华北电力大学学报,2003(1).

  [2]尹章才.一种新的编程办法——面向Agent的顺序设计[J].信息技术,2002(3).

  [3]王昱,周成平,丁明跃.基于多代理的网络图像下载模型的设计研讨[J].华中科技大学学报(自然迷信版),2002(1).

  [4]何卫平,蔡鸿明,秦忠宝,李冰.面向工业造型设计的产品设计定位办法研讨[J].计算机工程与使用,2002(4).

  [5]党辰,王嘉祯,王素贞.基于组件的挪动Agent平台设计与完成[J].计算机工程与设计,2009(3).

  [6]周文军,刘斌.面向Agent技术[J].微处置机,2009(1).

  [7]赵少东.面向对象与面向Agent的比拟[J].古代计算机,2005(11).

  [8]刘霞,吕翠丽,赵鑫.Agent软件技术使用实例[J].中国校外教育,2012(9).

  [9]潘卫红.挪动Agent技术及其在散布式零碎中的使用研讨[D].华北电力大学,2002.

  [10]张宇晴.Agent在散布环境中的工程使用[D].华北电力大学(河北).2004.

  [11]黄达安.基于MobileAgent的K-WebService零碎的设计与完成[D].暨南大学,2006.

  [12]於蓓蓓.溪洛渡水电站场内交通零碎层次多代理零碎及其决策成绩的研讨[D].天津大学,2006.

  [13]庸俗田.基于Agent的油井作业施工总结智能剖析零碎研讨[D].大庆石油学院,2007.

  [14]朱莉丽.基于挪动Agent的散布式电子商务框架研讨[D].武汉理工大学,2008.

  [15]代春平.基于Agent的数据发掘模型研讨及其在火山岩压裂方案中的使用[D].大庆石油学院,2008.

【面向Agent的软件工程的现状与挑战探索】相关文章:

面向Agent的软件工程的现状与挑战探究11-07

面向对象的软件工程开发分析08-05

软件工程数据挖掘存在的挑战与解决方案08-05

面向对象软件工程开发探讨08-09

面向大信息的《通信原理》教学探索论文07-10

大规模工程实践的软件工程专业建设的探索与创新08-21

面向信息安全专业的软件工程实践论文12-11

计算机软件工程管理与应用探索11-07

幼儿生命教育的现状和探索论文12-13