没有合适的资源?快使用搜索试试~ 我知道了~
移动代理设计模式的性能比较研究
理论计算机科学电子笔记95(2004)287-305www.elsevier.com/locate/entcs使用彩色佩特里网来比较移动代理设计模式。EmersonFerreiradeAraujoLima1,2JorgeCesarAbrantesdeFigueiredo3Dalton Dario Serey Guerrero4GrupodeMetodosFormaisCordenacaodePos-GraduacaoemInformaticaDepartamentodeSistemaseComsetacao坎皮纳格兰德联邦大学Av. ApgioVeloso,882,CaixaPostal:10.106CEP:58。109-970,CampinaGrande-Paraba-Brasil摘要式并发分布式系统建模是一项复杂的任务。当我们添加移动性时,场景仍然很糟糕,因为添加了特定的问题。Petri nets是一种广泛使用的形式,用于建模和求解复杂系统,特别是分布式和并发系统。Petrinets模型是可执行的,允许对抽象规范进行模拟由于这个原因,Petri nets已经被广泛地用作验证和规范工具。本文介绍了三种移动代理设计模式的性能比较研究的结果。作为分布式信息检索系统的解决方案,研究了路径、星形和分支迁移模式的迁移方法。这三个解决方案是用定时彩色佩特里网建模的。使用模拟和发生率图分析技术对模型进行了验证。使用进一步的模拟进行实验,并收集数据,以评估每个设计模式的性能。[10]所获得的数据使我们能够得出结论,对于所研究的场景,分支模式呈现出最佳性能。关键词:Petri Net,移动代理,设计模式。1本文及其作者得到CNPq-第一作者由CAPES提供支持。2 电子邮件地址:emerson@dsc.ufcg.edu.br3电子邮件地址:abrantes@dsc.ufcg.edu.br4 电子邮件地址:dalton@dsc.ufcg.edu.br1571-0661 © 2004 Elsevier B. V.根据CC BY-NC-ND许可证开放访问。doi:10.1016/j.entcs.2004.04.017288E.F. de Araújo Lima等人/理论计算机科学电子笔记95(2004)2871介绍性在分布式系统的背景下,移动性已经被指出为一个突出的和基本的概念。它已成功地用于复杂的Internet应用程序,因为它可以提供这些应用程序所需的必要程度的可配置性、可伸缩性和可定制性[4]。然而,移动性在传统的分布式计算中引入了不存在的问题:通信条件的变化、能量管理和资源限制。我们可以说,移动计算是分布式系统的一个艰难场景,其中通信问题和断开是恒定的,并且环境拓扑是动态的。移动代理是一个基于代码移动性的范式,其应用性已经在许多案例研究中得到了证明[2,5,11]。移动代理是可以迁移到不同物理位置并在迁移前停止移动代理的使用可以给应用程序及其用户带来几个好处:(1)减少网络流量,因为交互可以在本地进行,而与网络延迟无关;(2)异步和去中心化执行,允许用户在代理执行任务时从网络断开连接;(3)能够检测执行环境中的变化并自主做出反应,简化了更健壮和更容错的分布式系统的开发。尽管事实上这些优势可以通过使用其他范式来实现,但移动代理将它们全部组合成一个单一的、更抽象的范式[8]。范式呈现出一些倒退。首先,您需要在代理需要访问的每个主机上安装一个支持平台。代理代码通常在这些平台上进行解释。这会对系统的性能产生相当大的影响。Hence,建议您避免不必要地移动代理,因为这可能会增加网络流量。此外,如果我们想获得技术的好处,代理代码和数据必须尽可能短[15]。代理功能可以被分解成一种方式,即它准确地承载所需要的东西。无法使用或无法轻松恢复的信息可能会被忽略......此外,安全问题也是一样好的。然而,这是所有分布式系统技术所面临的一个难题[3,19]。系统的性能越安全,就越低系统性能是一个重要的因素,当我们处理基于移动代理的分布式系统时,性能分析甚至更加复杂,因为必须考虑其他方面,例如代理大小和网络容量。[10]性能问题在开发过程中是E.F. de Araújo Lima等人/理论计算机科学电子笔记95(2004)287-305289在系统和影响力的基础上,举例来说,给定模块的实现方式。因此,在移动系统中,关于如何定义迁移的问题是最重要的,并且应该在系统开发的早期阶段得到解决。[10]错误的决策可能会影响所实施系统的性能。Petri nets是一个强大的形式化、图形化和可执行的工具,出现于20世纪60年代初它们的最大强度是从概念上和数学上确定分布式系统的基本方面的方式Petri nets已经被用来建模和分析各种类型的并发系统。已经提出了许多类型的扩展,以支持特定应用程序领域中的一些要求。[10]例如,已经用时间概念扩展了Petri nets,以便与定时系统建模相匹配,并且还允许对系统进行性能分析有一些工作可以应用佩特里网来分析移动代理。在[16]和[17]中,使用随机Petri网对移动代理设计模式Meeting和Master-Slave进行了建模和验证。Merseguer [13]使用随机形状良好的彩色网(SWN)来模拟两个信息检索系统。其中一个系统使用移动代理,另一个系统使用客户端/服务器范例。从比较分析来看,Merseguer得出结论,对于低带宽场景,移动代理解决方案呈现出更好的性能。在本文中,我们提出了一个基于移动代理的分布式信息检索系统的三种解决方案的比较性能研究。我们展示了每个解决方案是如何在不同的情况下存在的。每一个都是移动代理迁移设计模式的应用程序。我们使用彩色佩特里网(CPN)[9]来模拟这三种模式。Design/CPN工具[9]用于编辑、模拟和从CPN模型中收集数据本文的内容组织如下:在第2节中,简要介绍了分布式信息检索系统(Distributed Information Retrieval System)。此外,还介绍了三种移动代理迁移设计模式。相应的CPN模型在第3节中进行了解释。在第4节中,我们介绍了比较研究和获得的结果。第5节提出了进一步工作的结论性意见假设读者具备CPN和移动代理的基本知识,这是一个很好的例子。2移动代理的迁移设计模式。让我们考虑一个分布式信息检索系统,其中一个用户请求对一些信息的搜索。系统接收到请求,并开始搜索分布在网络上的多个对等体中的信息。290E.F. de Araújo Lima等人/理论计算机科学电子笔记95(2004)287净。完成搜索后,系统会将搜索结果显示给请求用户。信息搜索是系统中的关键点,它对系统的性能起着决定专注于搜索执行策略,在本文中,我们使用了一种移动代理方法。在此方法中,移动代理迁移到数据存储库(此处称为代理),以在本地执行其搜索和检索任务。然而,这种迁移可以以几种方式来执行。例如,一个代理可以按顺序遍历所有代理;或者,两个代理可以访问不同的代理。尚未提出针对移动代理迁移问题的太多解决方案[1,10,18]。这些解决方案以设计模式的形式呈现。对于这里介绍的系统,我们认为问题是迁移,上下文是分布式信息检索,而可能的解决方案是由移动代理迁移设计模式给出的。选择其中一个设计模式并不是一项微不足道的任务。重要的是要了解使用它们的后果,同时考虑它们的应用程序的性能影响在本文中,我们考虑了[18]中提出的三种迁移设计模式:路径模式、星形模式和分支模式。在序列中,我们详细说明了每个模式。我们使用了一个消息序列图来显示设计模式的总体情况。这些模式的CPN模型将在下面的章节中介绍。行程表:此模式提供了一种执行代理迁移的方法,该代理将负责在远程主机上执行给定的作业。代理在源代理上接收漫游,指示它应该访问的代理的顺序一旦在代理中,代理在本地执行其工作,然后继续其漫游。在访问了最后一个代理之后,代理返回 其来源机构。对于需要执行顺序作业的代理来说,此模式是一个很好的解决方案。在[6]和[12]中,显示了应用此模式的案例研究。在图1中,我们给出了该模式的一个可能的执行序列。我们使用的符号相当于[11]中给出的符号。在此表示法中,对象用于表示控制给定代理中的代理执行(创建、销毁、迁移)并指示其位置的实体。迁移由从一个代理实体传递到另一个代理实体的消息表示。该消息标记为"MIGRATING AGENT"。在迁移之前,代理执行被中断(箭头标记为destroy())。在目标代理中继续执行(箭头标记为initialize())。5[5]本文件中使用了此符号。E.F. de Araújo Lima等人/理论计算机科学电子笔记95(2004)287-305291:Create():setItinerary():nextDestination():Move():destroy():初始化():doJob:nextDestination():Move():destroy():移民代理人:初始化()doJob():nextDestination():Move():移民代理人:初始化()ItineraryAgent:ItineraryAgent:ItineraryAgent:DestinationAgency2:DestinationAgency1:来源机构:图1。行程模式的序列正如我们所看到的,有三个代理:一个SourceAgency和两个搜索代理(DestinationAgency1和DestinationAgency2)。按照dia-gram,我们看到有一个代理(ItineraryAgent)设置其漫游,移动到第一个搜索代理,在那里它执行其作业,然后它移动到第二个,执行作业,然后它返回到源代理。星形的在星形模式中,代理会收到一个它必须迁移到的代理的列表。最初,代理迁移到列表中的第一个目标代理。迁移完成后,它将执行相关作业,并将迁移恢复为返回到源代理。代理重复此循环,直到访问其列表中的最后一个代理。 这种模式的优点是它是 代理将其作业的结果存储在源代理中,并且不需要与它们一起迁移到其他代理。根据应用程序的不同,结果可以在代理将其存储在源代理中时立即显示给用户。通过这种方式,用户可以在代理通过所有搜索代理完成其迁移之前已经知道部分结果。在图2中,我们可以看到星形模式的执行序列。[10]在此图中,我们具有与路由模式所示序列图相同的配置:三个代理和一个代理。后续行动292E.F. de Araújo Lima等人/理论计算机科学电子笔记95(2004)287:Create():setItinerary():nextDestination():Move()代理商:初始化():doJob:Move():移民代理人:初始化():doJob:Move()显示结果():初始化():destroy()StarShapedAgent::移民代理人:destroy():Move()显示结果():nextDestination():初始化():destroy()StarShapedAgent:代理商:迁移:迁移:destroy()StarShapedAgent:DestinationAgency2:DestinationAgency1:来源机构:图2。一种用于星形图案的序列图。在图中,我们观察到代理设置了它的漫游,然后旅行。第一个搜索机构的搜索结果。执行作业后,代理返回到源代理,在源代理中,代理存储作业的结果。在此之后,代理行进到第二搜索代理,执行其作业,并返回到源代理,存储所获得的结果。分支化在分支模式中,代理接收要访问的代理列表,并根据已定义漫游中的代理编号进行克隆。每个克隆都从接收列表中分配了一个代理。每个克隆都必须迁移到其对应的代理,执行其作业,并在作业完成时通知源代理。这种模式的重要性在于,它将可以并行执行的任务进行了拆分。对最终结果的处理是此模式未涵盖的一个问题。例如,克隆可以将任务的结果放入用户界面或将其发送到另一个代理。在图3中,示出了在存在三个代理和一个代理的场景中该模式的执行序列。按照这个图,我们可以看到E.F. de Araújo Lima等人/理论计算机科学电子笔记95(2004)287-305293来源机构::CreateDestinationAgency1:DestinationAgency2::setItinerary()克隆():Create():Move():移民代理人:初始化():doJob:Move():destroy:移民代理人:初始化():Move():destroy():移民代理人:初始化()doJob():Move():destroy:移民代理人:初始化()分支代理(克隆):分支机构代理:BranchingAgent(克隆):分支机构代理:代理设置它的漫游,然后克隆它自己。之后,每个代理(原始代理和克隆代理)都会迁移到搜索代理,在那里执行作业,然后返回到源代理。图3。分支模式的序列图[编辑]3设计模式CPN模型我们已经使用时间层次着色的Petri网作为形式来模拟上一节中介绍的三种迁移设计模式。 在图4中,我们展示了三种设计模式中常见的最高级别模型。该模型由两个位置和三个替换转换组成。PlaceSA(源代理)用于初始化目的。PlaceMA(Mi- grating Agent)集中了代理之间的流动迁移。流由代理控制,因 为 它 将 在 稍 后 详 细 说 明 。 三 个 替 代 转 换 SourceAgency 、DestinationAgency和Net分别表示代理从其发送以执行搜索的代理、代理将从其执行搜索的代理以及代理将通过其迁移到的网络。[10]路线、星形和分支模式建模中的主要差异在于详细说明替代过渡源代理的模型中的主要差异(见图1)。请记住,在源代理中,代理的定义发生了,代理应该访问,并且在源代理中采用了不同的过程。294E.F. de Araújo Lima等人/理论计算机科学电子笔记95(2004)287AGSA代理来源代理机构代理代理代理商MA代理代理代理代理DestinationAgencyHS净HS代理商进入HS图4。 主模型三种设计模式。SourceAgency替代转换的详细模型将在稍后的"每个模式"小节中介绍替代转换网和DestinationAgency的详细模型对于三种模式是相似的网络的建模如图5所示。TransitionTransmit(转换传输)与时间函数关联无论何时发送定时转换文件,模型全局时间都会根据migrateTime(Agent)函数递增。此函数使代理大小(代码+数据)能够根据网络容量计算迁移的时间延迟(请参阅此处)。MA位置中的令牌根据代理漫游通知代理人仅将被传送,即,发送给代理人的通知。如果代理状态正在迁移,则传输文件的转换。此条件由guard[not(isExecuting(agent))]保证。每当代理到达DestinationAgency(图6)时,代理将被TransitionArrive接收并执行其作业(transitionDoJob,从位置数据中检索一个数据)。此数据通过addData(agent,data)函数添加到代理。之后,代理迁移到其漫游的下一个代理(过渡迁移),并且其状态从执行更改为迁移(函数更改状态(代理))。代理人刚刚收到代理人的通知,即代理人收到的通知。如果传输到达的状态正在执行,并且其当前位置不是SourceAgency,则传输到达仅被触发(guard[(isExecuting(agent)),not(isSource(agent))])。E.F. de Araújo Lima等人/理论计算机科学电子笔记95(2004)287-305295PI/O代理MA传输代理代理代理商数据50'40代理商DoingJob数据工作完成代理日期addData(代理、数据)DoJob代理更改状态(updateAgency(代理))[not(isExecuting(Agent))]@+migrateTime(Agent)图5。 净模型图6。 目的地代理模型3.1行程模式的来源代理模型(Source Agency Model)在图7中,我们详细描述了源代理的模型,考虑了漫游模式。最初,将执行搜索 的 代 理 由 一 个 令 牌 代 替 SA 来 表 示 。 代 理 首 先 设 置 其 漫 游(TransitionSetItinerary),即,它会收到代理列表,在该列表中它必须执行搜索。在此模式下,漫游者存储在地点路线中,功能PI/O代理商ChangeState(代理)MA代理[isExecuting(Agent),而不是迁移到达296E.F. de Araújo Lima等人/理论计算机科学电子笔记95(2004)287代理商MAPI/O接收代理程序setItinerary(Agent,rominary)将漫游报告给代理。然后,它将其迁移到漫 游 中 的 第 一 个 代 理 ( transitionMigrate ) , 并 且 函 数 changeState(agent)将其状态更改为迁移状态。当它通过其列表中的所有代理完成迁移时,代理返回到源代理(transitionreceiveAgent),检索到的数据被带到placesequence(transitionGet迪尔和函数getData(agent))。通知该代理仅由该代理接收,即,仅由该代理接收。如果代理状态为正在执行且其当前位置 为 SourceAgency ( guard[ ( isExecuting ( agent ) , isSource(agent)]),则转换接收代理文件。P在代理商SAresetData(代理)伊蒂内拉里行程表:代理getData(代理)数据行程表:漫游者SetIninerary获取结果setItinerary(代理、漫游)代理代理商代理商准备迁移Arriving查代理代理[isExecuting(代理),isSource(代理)]代理图7。行程模式的来源代理模型(Source Agency Model)3.2星形图案的Source Agency模型[编辑]此模式中的区别在于,如此模式描述(第2节)中所示,代理在访问其漫游中的每个代理后始终返回到源代理。在星形pat- tern的SourceAgency模型中(图8)transitionreceiveConsult收集检索到的数据(函数结果迁移NGEState(代理)E.F. de Araújo Lima等人/理论计算机科学电子笔记95(2004)287-305297P在代理商SAresetData(代理)伊蒂内拉里行程表:漫游者代理获取结果getData(代理)setItinerary(代理,漫游)代理代理商准备迁移。Arriving代理商数据结果代理代理代理[isExecuting(代理),isEnd(代理)]迁移接收代理程序ChangeState(代理)代理商代理MAPI/O代理更改状态(resetData(代理))getData(代理)[isExecuting(代理),isSource(代理)]图8. 星形图案的Source Agency模型[编辑]getData(Agent)),然后从代理中删除此数据(resetData(Agent))。这意味着代理不需要使用已存储的数据进行迁移。此转换还将更改要迁移的代理的状态(changeState函数),并将其发送到漫游中的下一个代理通知该代理将仅由该代理接收以进行数据收集,即,该代理将接收该数据收集如果代理状态为executing且其当前本地化为SourceAgency(guard[(isExecuting(agent)),(isSource(agent))]),则传输接收结果文件。为了结束他们的迁移,也就是说,对于要归档的接收代理,代理状态必须正在执行,并且 其 漫 游 必 须 已 完 成 ( guard[ ( isExecuting ( agent ) , ( isEnd(agent))])。3.3分支机构模型的来源机构模型如第2节所述,在此模式中,搜索代理根据其漫游中的代理数量进行自我克隆。图9中所示的网络克隆过程由定时转换克隆建模,该转换克隆根据变量cloningDuration增加了全局时间。行程表:receivesequenceSetIninerary298E.F. de Araújo Lima等人/理论计算机科学电子笔记95(2004)287伊蒂内拉里tData(代理)数据setItinerary(代理、漫游)代理代理商准备迁移。代理商ArrivingremoveFirstAgency(代理)@+克隆持续时间代理[romarySize(代理)>1]代理代理doSelection(代理)克隆人代理商[romararySize(代理)=1]接收代理程序代理ChangeState(代理)代理商[isExecuting(代理),isSource(代理)]代理迁移_克隆MAChangeState(代理)PI/O图9。 分支模式的来源代理模型[编辑]值。removeFirstAgency(Agent)函数从漫游者中删除第一个代理,这样其他代理就不会将此代理作为目的地接收。在另一方面,函数doSelection(agent)创建一个新代理,克隆原始搜索代理,但漫游代理仅包含第一个代理。最初的代理漫游者。 Guard[romararySize(Agent)>1],用于过渡克隆,保证只有必要的克隆才能被创建。克隆代理通过过渡迁移克隆,在创建所有需要的克隆时终止原始的唯一迁移(过渡迁移)(guard[romararySize(agent)=1])。3.4CPN模型的有效性我们使用了正式和非正式的方法来分析模型。非正式分析通过对模型进行模拟来补充行程表:行程表:伊廷P在代理商resetData(代SA代理GE埃拉获取结果SetIninerary结果克隆人迁移E.F. de Araújo Lima等人/理论计算机科学电子笔记95(2004)287-305299模式化行程表:星形的分支化代理商数量。5节点263444994弧2533196673代理商数量。15节点669445120(部分)弧6593174902(部分)代理商数量。45节点18627063965(部分)弧185269231703(部分)表1发生率图总结表1仿真是调试CPN模型的一种非常有效的方法。在验证阶段,我们混合了交互式和自动化模拟。通过模拟,有可能研究模型的细节,这是可能的。通过选择合适的场景,我们有可能深入了解模型模式的行为,增强我们对模型是正确的信心,从而提高我们对模型是正确的信心。考虑了各种漫游场景,包括代理人要访问的代理机构的不同数量的漫游场景。使用发生率图(OG graph)方法进行形式化分析。[10]对于每个设计模式模型,都生成了一个出现次数图。表1总结了OG分析的主要结果(见表1)。考虑到5个基因组,有可能为所有三个设计模式生成完整的OGgraph。路线模型和星形模型的发生率图分别有26个节点和34个节点。[10]分支模型的OG图有44,994个节点。考虑到具有15个和45个基因的配置,不可能为分支设计模式模型生成完整的OG图。我们还使用了OG Graph工具生成的标准报告来分析模型的一些属性。[10] 我们专注于证明当所有结果都返回到源代理时,模型始终停止。在图10中,我们展示了由Design/CPN工具生成的报告的一部分,考虑了具有5个要访问的代理的分支模型。 从报告中,我们可以观察到只有一个HomeMark和一个Dead Mark。此主标记对应于将结果发送回源代理时的结束状态。 由于最终状态是一个家庭标记,因此可以保证最终状态始终是可到达的。从boundness属性可以观察到,只有4个代理被克隆,如分支设计模式所定义的那样。300E.F. de Araújo Lima等人/理论计算机科学电子笔记95(2004)287统计学Boundedness属性出现的节点:图44994最佳整合者BoundsSourceAgency'Arriving上5较低0弧:196673Secs: 125SourceAgency的克隆人40状态:完整SourceAgency'行程表10Scc图SourceAgency'准备迁移'节点: 4499410弧:196673SourceAgency0Secs: 17Home属性主页标记:[44994]Liveness属性死亡标记:[44994]死转换实例:无。Live Transitions实例:无图10。 关于分支模式的4迁移模式的比较研究。我们使用设计/CPN性能设施收集数据,并对三种建模设计模式的性能进行了比较研究。比较研究是一项正在进行中的工作,我们希望进一步详细说明模型并使用其他模式,在本文中,我们将介绍初步结果。定义了许多配置方案,允许设置所涉及的参数:代理大小(代码)、收集的数据大小、网络容量、代理要通过的代理数量以及克隆时间。所获得的结果与每个方法之一为了在代理中完成搜索而花费的时间相关联。在本文中,我们给出了表2中所示值的参数值代理人大小10KB净容量56Kbps/s克隆持续时间0.5s搜索机构的5、15和45数据大小。0... 75KB表2分析中考虑的参数的值在本文所示的比较中,我们改变了代理的数量(漫游大小)和收集的数据大小。重要的是要注意,数据大小与每个代理收集的数据有关。例如,如果数据大小为5Kb,则对于三个代理,在端点处收集的总数据大小E.F. de Araújo Lima等人/理论计算机科学电子笔记95(2004)287-305301搜索的大小为15KB。数据收集是生成有助于比较的图形所必需的,它是通过自动模拟的手段来实现的,同时具有三个收集函数:预测函数、观察函数和创建函数。第一个函数指示何时必须收集用于比较的数据,第二个函数指示必须收集什么数据,最后一个函数指示必须存储所收集数据的位置。在本研究中,每当代理完成搜索时,代理收集的数据量以及完成搜索所花费的时间都存储在日志文件中(从模式转换为SourceAgency模型的GetRequest)。图形是从日志文件中生成的。在第一种情况下,如图11(a)所示,我们已经一个包含五个代理的搜索。在其中,我们可以注意到,当收集的数据大小为0Kb(没有信息检索的远程作业执行,用于临时)时,路径模式呈现最佳性能,其次是星形模式,最后我们具有性能最差的分支模式。随着数据大小的增加,模式之间的与位少,然后5KB的数据,行程和星形已经呈现相同的性能。当数据大小超过5Kb时,路由模式和分支模式表现出相同的性能。当数据大小接近15Kb时,星形和分支的性能变得相等。从那时起,各图案之间的性能差异稳步增加,表现最好的是分支图案,其次是星形图案,最后是星形图案,最后是星形图案。在图11(b)和图11(c)的图表中,我们对机构数量的变化(分别为15和45)进行了相同的比较。我们可以注意到,当收集的数据大小为0Kb时,代理的漫游中的搜索代理的数量与模式之间的性能差异成正比可以通过改变表2中显示的每个值来创建和分析其他场景例如,我们可以检查模式行为是否具有更高或更低的网络容量。当然,在一个更精确的系统分析中,必须考虑许多其他因素。网络模型很简单,为了考虑可靠性水平和网络流量,对它进行了详细描述。通过所提供的分析,我们已经可以感知到参数对系统性能的影响。此外,我们可以注意到,对于给定的系统没有理想的解决方案,即应用模式的选择取决于系统的许多因素。考虑到第2节中介绍的信息检索系统,检索到的搜索数据类型对系统性能有直接影响,因为文本文件和二进制文件之间的差异,例如,相当大。另一个因素是302E.F. de Araújo Lima等人/理论计算机科学电子笔记95(2004)287(a) 5个机构(b) 15个机构(c) 45个机构图11.代理在行程、星形和分支模式中定义检索信息所花费的时间,考虑:5个代理(a)、15个代理(b)和45个代理(c)。E.F. de Araújo Lima等人/理论计算机科学电子笔记95(2004)287-305303要由代理执行的作业,因为如果不能将其拆分为要并行执行的顺序,则不能使用分支模式(Branching pattern)。我们还可以考虑搜索代理在检索数据之前对数据进行过滤的可能性,这可能会提高性能,主要是因为行程模式。虽然我们无法确定在给定的一种系统中应用的最佳模式,但比较研究对于帮助开发人员了解在特定条件下哪种模式更好是很重要的。即使在实现系统之前,这也可以帮助选择模式。5总结性评论分布式应用程序开发是一项复杂的工作。当我们添加移动功能时,由于添加了新的问题,场景变得更糟,例如,通信和连接条件的变化。从这个意义上说,重要的是在实现这类系统之前分析它的属性,验证它的规范中可能存在的故障,并寻求改进。Petri nets是一个非常有用的工具,用于建模并发分布式系统,因为它提供了许多技术的结构和行为肛门分析。因此,我们可以将其用于移动代理系统的建模在开发问题的基础上,人们必须知道什么解决方案适用于给定的情况,寻找更好的系统性能。这些解决方案是由设计模式给出的,其中一些解决方案可应用于类似的问题。以这种方式,比较这些模式在许多情况下的应用的研究,呈现它们中的每一个在这些条件下的表现,是重要的。在本文中,我们提出了一个分布式信息检索系统背景下的三种移动代理迁移设计模式的比较研究。通过这项研究,我们验证了路线、星形和分支模式,验证了它们在所述条件下的表现,例如,在所述条件下的表现。特定的数据大小和网络容量。我们认为,对于一种系统来说,没有更好的模式,因为模式性能取决于系统场景中存在的许多问题。从所呈现的图形中,我们可以注意到,考虑到所使用的参数,所有三个解在数据大小上都是不可知线性的。我们还可以看到,随着数据大小的增加,分支模式的性能更好。可以通过考虑系统性能中返回的其他值来进行许多其他比较。可以比较其它模式,例如,可以比较其它模式。通信模式、一次消息交换也是影响性能的一个重要因素如果没有模型和集合函数的帮助,它将是304E.F. de Araújo Lima等人/理论计算机科学电子笔记95(2004)287很难比较这些模式。直观地说,我们可以说分支模式具有最佳性能,然而,对于不同的值,如克隆时间和包括网络可靠性因素,很难评估这种模式的性能会有多好。在模型方面,CPN是最适合模型的移动性概念。然而,系统分解风格并不理想,因为它要求开发人员对模块有不同的看法,以便将它们组织成层次结构。一个有趣的方法是使用面向对象的概念来处理分解,而不是层次结构。事实上,这是一项正在进行的工作,其中我们使用一种面向对象的Petri网形式,称为RPOO [7],来建模和验证移动代理模式。这允许我们使用现有的OO模型作为Petri net模型的基础。 此外,它还提供了模块之间的完全独立性。参考文献[1] Aridor , Y. 和 D 。 B. Lange , Agent Design Patterns : Elements of Agent ApplicationDesign,in:Proceedings of the Second International Conference on Autonomous Agents(1998),pp.108[2] 伯纳德斯,M.C. 和E。S. Moreira,基于移动代理的入侵检测系统的实现,载于并行和分布式系统软件工程国际研讨会(PDSE 2000)(2000)。[3] 国际象棋,D.M.,移动代码系统中的安全问题,载于:移动代理和安全,1998年,第1-14.[4] Fuggeta,A. G. Picco和G. Vigna,理解代码移动性24(1998)。[5] Glitho,R.H.,E. Olougouna和S.Pierre,移动代理及其在信息检索中的应用研究,IEEE网络(2002)。[6] Guedes,F.P.,P. D. L. 马查多和V。N. Medeiros,开发基于移动代理的应用程序(2003年)。[7] 格雷罗,D. D. S.,"面向对象的佩特里网络",Ph.D.论文,COPELE - UFCG(2002年)。[8] 哈里森,C. G.、D. M.国际象棋和A. Kershenbaum,移动代理:他们是一个好主意吗?技术报告RC 19887,IBM Thomas J.沃森研究中心(1995)。[9] 詹森,K.,彩色佩特里网(英语:Coloured Petri Nets)《基本概念、分析方法和实际应用》,[10] 肯德尔,E. A.、P.V. M.克里希纳,C. V. Pathak和C. B. Suresh,《智能和移动代理的》,载于:K.P. Sycara和M.Wooldridge编辑,《第二届自主代理人国际会议论文集》92-99.[11] Klein,C. A. Rausch,M. Sihling和Z. Wen,移动代理统一建模语言的扩展,in:K. Siau和T.Halpin,编辑,统一建模语言:系统分析、设计和开发问题,Idea出版集团,2001年,第116-128。[12] 我dcraft,P。 S. ,E.F. de Araújo Lima等人/理论计算机科学电子笔记95(2004)287-305305[13] Merseguer,J. J.坎波斯和E. Mena,《使用petri net的基于互联网的软件检索系统的性能分析》,载于:第四届ACM无线和移动系统建模、分析和模拟国际研讨会论文集(2001年),第47-56。[14] 村田,T.佩特里网:性质、分析和应用,IEEE学报,第77卷,第04期,1989年4月(1989年),第541-580.[15] Peine,H.,ARA移动代理系统的应用和编程经验,软件-实践和经验(2002)。[16] 拉纳,O.和C。Biancheri,移动-静态代理交互的会议设计模式的petri net模型,载于:第32届夏威夷系统科学国际年会论文集,1999年。HICSS-32。1999年[17] 拉纳,O.和D。Walker,移动代理系统中任务和交互模式的性能模型,载于:性能、计算和通信会议,2000。IPCCC'00。IEEE国际会议论文集,2000年,第第478- 484页[18] 塔哈拉,Y. A.大菅和S. Honiden,《基于代理模式的代理系统开发方法》,载于:第21届软件工程国际会议论文集(1999年),第356-367。[19] 塔哈拉,Y. A.大菅和S. Honiden,《移动代理中的安全和安保》,载于:AOSE2000年会议记录草案,2000年,第107
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功