没有合适的资源?快使用搜索试试~ 我知道了~
理论计算机科学电子笔记261(2010)181-201www.elsevier.com/locate/entcs基于随机Petri网DiegoPerez-Palacin1,2 Jos'eMerseguer1,3D p to o。deInform'aticeIngenier'enchadadeSistemas,U iversidd ddeZaragoza,Zaragoza,Spain摘要开放世界软件是一种允许开发分布式和异构软件系统的范例。它们可以通过集成已经开发的第三方服务来构建,这些服务用于声明QoS值(例如,与业绩有关)。确实,这些QoS值受到一些不确定性的影响。因此,使用这些服务的系统的性能可能意外地降低。 这类软件的一个挑战是自适应其行为,以响应所需服务的可用性或性能的变化。在本文中,我们开发了一种方法来建模自重构开放世界的软件系统与随机Petri网。此外,我们开发的策略,系统获得一个新的状态,它可以恢复其可用性,甚至提高其性能。通过一个例子,我们应用这些策略并对其进行评估,以发现适合系统的重构。结果将宣布适当的战略,系统性能增强。1介绍在新的和令人兴奋的开放世界软件范例中,环境不断变化,软件必须动态地做出反应并适应其行为。这个世界对环境可以动态提供、软件可以发现和绑定的新组件是开放的。因此,在一个开放的世界里,软件不再是从头开始创建的,而是集成了已经开发的第三方服务。目前,存在部分支持开放世界软件假设的方法、标准和技术,其中包括开放订阅中间件、网格计算、自主计算或面向服务的架构(SOA)[2,3]及其底层实现,例如Web服务。在这种情况下,软件服务[4]是一种抽象,应该足够灵活,可以混合各种技术(例如,传感器,全球定位系统1这项工作得到了西班牙科学技术部项目DPI 2006 -15390的支持。2电子邮件地址:diegop@unizar.es3电子邮件地址:jmerse@unizar.es1571-0661 © 2010 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2010.01.012182D. Perez-Palacin,J.Merseguer/Electronic Notes in Theoretical Computer Science 261(2010)181或基于标签的[5])、在开放环境中执行(通常通过网络连接)或在没有权限的情况下相互作用。最后,他们致力于提供足够的服务质量(QoS)。开放世界软件区分了服务提供者和服务集成者的角色。前者可能在异构环境中开发和部署以不可预见的方式执行的服务,而后者创建调用这些外部部署的服务的基于服务的服务集成需要部署的服务:描述其功能和非功能属性;提供和协商QoS级别(SLA);可以在运行时动态发现和绑定;允许监视其真实行为本文主要讨论后两个问题。关于第一个感兴趣的主题,服务可以在运行时被发现和绑定的事实意味着基于服务的应用程序可以改变它们的内部结构以利用最近部署的服务。因此,服务可以改变它们当前的配置,因此它们被认为是一种自适应软件[6]。重新配置可以采取两种形式:强制性和可选性。当应用程序无法再使用当前配置时,将发生强制重新配置。例如,由于所请求的服务中断或失败,Garlan等人定义了一个类似的概念,即自我修复系统[7]。可选的重新配置用于提高系统的QoS,因此,虽然系统实际上仍然可以工作,但重新配置将带来更大的优势,例如更好的性能。关于第二个主题,监控也在开放世界软件的研究议程中。这里的挑战是收集和分析来自提供商的数据,以与承诺的QoS进行比较(例如,SLA),检查偏差,从而规划策略以应对和重新配置系统。服务集成商(人员和程序)应轻松访问QoS参数,定义软件服务,以指导可选的重新配置,从而提高系统QoS。例如,在SOA中,这些参数被称为策略[8],Web服务可以在策略寄存器中声明它们。然而,我们和其他研究人员[9]指出,这些信息不可能是准确的或更新的,甚至可能是不正确的。因此,我们的观点是,对于给定的服务请求,提供者的选择应该了解当前提供服务的所有提供者所表现出的性能。当开发中的系统希望包含这种性能感知的重新配置属性时,可以采用离线方法来研究其可行性,并深入了解最终可以实施以成功实现属性的可能的重新配置策略在本文中,我们与这种在线方法保持一致,那么我们的系统设计将不仅反映服务集成商的工作流程,而且反映感兴趣的重构策略和从软件设计中,我们将得到一个正式的模型,在Petri网方面,将进行评估,以了解该设计的重构策略我们认识到,重新配置的选择不仅要考虑性能,还要考虑其他QoS属性,如成本、可靠性或安全性。所以,读者应该明白,D. Perez-Palacin,J.Merseguer/Electronic Notes in Theoretical Computer Science 261(2010)181183<<无线>><>Host2<><<卫星>><>Host3<>INTERNETC3<>WLAN_NETWORKC2S2C1<<开放世界>>C3C2丢失WLAN室内室外(获取WLAN<>{PAoccurrencePattern=('poisson',0.005,<>{PAextOp=(WLAN_transmitt,1),PAdemand=<>PAextOp=(C2_S2,1),[室内]内部预处理调用C2::S2内部后处理{PADemand=<>[户外] 调用C3::<> PAstep>>(a){PAextOp=(satellite_transmmit,1),{PAextOp=(C3_S2,1),PAdemand=PAdemand=('assm',<>{PADemand=我们将在这里获得的结果将为最终的重新配置选择提供一个参数论文的其余部分如下。第二部分介绍了所研究系统的软件设计。第3节在仅强制性重新配置生效时评估该系统的财务状况。第4节介绍了可选的重组,然后对不同策略的评估是有意义的。最后,第五部分对相关工作进行了总结和归纳。Fig. 1. (a)工作流程(b)强制性重组S1C1应用(一)(b)第(1)款图二. UML组件和部署图2所研究184D. Perez-Palacin,J.Merseguer/Electronic Notes in Theoretical Computer Science 261(2010)181基于组件的软件工程[10](CBSE)是当今一个具有完善的组件模型和技术的领域,例如,商业操作系统货架(COTS)组件。让我们假设我们需要开发一个COTS组件C1来组装到PDA的应用程序中;它将包含一个服务或接口S1,见图2(a)。根据图1(a)中的工作流程描述,C1需要调用服务S2来正确地执行其职责。S2是C3为开放世界软件环境中的最终用户已经部署的服务,并且它也可以由C2提供,参见图2(a),C2和C3都是第三方组件。因此,C1组件开发人员将不会使用D. Perez-Palacin,J.Merseguer/Electronic Notes in Theoretical Computer Science 261(2010)181185工作量从到从到从到从已提供服务到到端行为名称=“S1”服务从name=“transmission”resourceType=“net”serviceName=“transmission”isSynch=true服务电话name=“InternalPostProcess”internalExecTime=5活动name=“InternalPreProcess”internalExecTime=3.5活动类型=“C1”名称=“C1”容量=1调度=“FIFO”资源name=“Call_S2”resourceType=“S2_server”serviceName=“S2”isSynch=true开始服务电话WorkloadType服务提供者角色,因为S1不会被全局访问,但她/他必须扮演服务集成者的角色,选择适当的提供者(C2或C3)。选择时应考虑这些组件之间的差异,这实际上是服务时间和覆盖范围的我们可以假设C2提供更快的平均服务时间,但覆盖范围更小,因为它只能从它执行的局域网(LAN)的无线接口访问,参见图2(b)中的部署。然而,C3通过卫星通过互联网提供服务,这可能会使其速度较慢,但特别适合PDA用户,而且它为S2提供全球覆盖。实际上,我们的例子受到了[11]中的例子的启发,所以我们将最后一种情况称为室外配置,而室内配置将指在LAN中执行的PDA,比如在大学校园内。我们还借用了[11]中图1(b)中的状态机来表示这些可能的配置,配置之间的更改由lostWLAN和getWLAN事件触发,PDA应该通知。由于C1正在开发中,我们的目标是评估性能S1可以- fer。C1将表现为自适应软件,即,它决定向当前最佳提供者(比如组件)请求S2的自我重构。我们将研究两个重组案例。第一个,由图1(a,b)中的工作流程和状态机描述,将在第3节中详细说明。这是一种强制性重新配置的情况,因为C1从室外变为室内,反之亦然,这取决于PDA的位置,但没有服务集成商的选择。第二种重新配置情况将在第4节中阐述,它引入了一个轻微但非常重要的变化:当C1在室外时,它必须请求S2,那么它将被允许在C3或C4中选择,因此,考虑可选的重新配置C3或C4的选择将基于性能标准。组件和部署图分别如图7(a)和7(b)所示工作流程和状态机如图8(a)和8(b)所示。图3.第三章。克拉珀工作流程模型186D. Perez-Palacin,J.Merseguer/Electronic Notes in Theoretical Computer Science 261(2010)181系统性能视图系统性能特征已使用标准UML profile进行注释,用于可扩展性,性能和时间规范(SPT)[12]。图1(a)中的工作流程描述了一些性能参数。这里,S1内部活动的执行需求分别为3.5和5个时间单位。此外,S2呼叫意味着两个外部操作及其相应的需求(WLAN和C2::S2或卫星和C3::S2)。如前所述,获取这些值的方式将取决于技术。资源类型=“C2”名称=“C2”容量=* 调度=“FIFO”已提供服务服务名称=“S2”行为开始从到活动name=“C2_S2”intExecTime=10从结束(a)到资源type=“OpenWorldInterface”name=“OpenWorld”capacity=* scheduling=“FIFO”已提供服务服务名称=“S2_interface”行为开始从到服务电话name=“Call_S2”ResourceType=“S2_server”ServiceName=“S2”isSynch=true从结束(b)到资源提供服务type=“net”名称=“净”容量=*调度=“FIFO”已提供服务服务服务name=“satellite”name=“wireless”行为行为入门开始从从t0到活动活动intExecTime=3.5intExecTime=1.0name= name=“WLAN_transmit” “satellite_transmit”从从t0到结束(d)结束见图4。 克拉珀资源到目前为止,我们已经提出了一个UML-SPT设计,描述了系统及其性能特征。从该软件设计中可以获得不同的性能模型(例如,排队网络,随机Petri网或随机过程代数)的建议,在文献中,其中一些调查[13]。然而,我们更喜欢将设计转换为D-Klaper [11]模型,因为它带来了一些优势。此外,存在从UML-SPT到D-Klaper的自动模型转换[11](这就是为什么我们目前使用SPT而不是最近的MARTE [14]profile)。之后,我们将从D-Klaper中获得一个性能模型,事实上,D-Klaper是一个合适的中间模型,有助于弥合UML-SPT设计和不同性能模型之间的差距。图3、图4、图5(a、d)和图6跨越了针对强制性和可选性两种设计获得的D-Klaper。D-Klaper明确描述了绑定,这对于理解系统重构很重要;这里我们假设它们不消耗时间。此外,它还明确了服务和资源的使用以及它们的性能特征。在后者中,D-Klaper描述了资源的容量,在这种情况下,资源不受限制(因此,它们都被设置为*,参见图4),然后考虑到C2和C3可以服务于来自其他请求的事实。资源类型=“C3”名称=“C3”容量=* 调度=“FIFO”已提供服务服务名称=“S2”行为开始从到活动name=“C3_S2”intExecTime=25从至(c)端D. Perez-Palacin,J.Merseguer/Electronic Notes in Theoretical Computer Science 261(2010)181187件.虽然还没有从D-Klaper到Petri网的自动模型转换,但我们可以手动获得网络(稍后概述)。此外,在结论中还将简要讨论如何通过自动翻译来弥合D-Klaper和Petri网之间的语义鸿沟。从我们的观点来看,D-Klaper的主要缺点是它不能处理UML状态机中接收到的事件。然而,我们不得不将其中一些转换为D-Klaper(图5),我们的解决方案是引入一个ReceiveEvent模型元素(参见图5中的灰色框),它说明了UML状态机中接收到的事件。行为工作量起始种群=1从到活动name=“室内”3internalExecTime= 10从到DestroyBindingname=outWLANsourceStep=C1.S1.transmissiontargetService=net.wireless从到DestroyBindingname=outC2sourceStep=C1.S1.Call_S2targetService=C2.S2从到电子装订name=inSatellitesourceStep=C1.S1.transmissiontargetService=net.satellite从到电子装订name=inOpenWorldsourceStep=C1.S1.Call_S2targetService=OpenWorld.S2_interface从到活动name=“户外”3internalExecTime= 2 ·10从到DestroyBindingname=outSatellitesourceStep=C1.S1.transmissiontargetService=net.satellite从到DestroyBindingname=outOpenWorldsourceStep=C1.S1.Call_S2targetService=OpenWorld.S2_interface从到电子装订name=inWLANsourceStep=C1.S1.transmissiontargetService=net.wireless从到电子装订name=inC2sourceStep=C1.S1.Call_S2targetService=C2.S2从(一)总人口=1资源type=“Monitor”name=“Monitor”capacity=1scheduling=FIFO服务名称=“监控”行为开始从到活动toname=“Idle”internalExecTime=0.0ReceiveEventname=“请求”从到活动name=“LessThan“internalExecTime=从到活动name=“MoreThan“internalExecTime=0.0ReceiveEventname=“响应”从从到服务电话name=“notificationSlow”resourceType=“ReconfStrategy”serviceName=“RunStrategy”name=“Slow”isSynch=falseReceiveEventname=“响应”从从到服务电话name=“notificationSlow”resourceType=“ReconfStrategy”serviceName=“RunStrategy”name=“OK”isSynch=false(b)第(1)款总人口=1资源type=“ReconfStrategy”name=“ReconfStrategy”容量=1调度=FIFO服务名称=“RunStrategy”行为开始从t0到活动name=“0−Slow”内部执行时间=0.0到接收事件从name=“OK”接收事件名称=“慢”从到服务电话name=“toActivateC4”resourceType=“CurrConfig”serviceName=“Config”name=“ActivateC4”isSynch=false从到活动name=“ReqC4”internalExecTime= 0从从到服务电话name=“toActivateC3”resourceType=“CurrConfig”serviceName=“Config”name=“ActivateC3”isSynch=false(c)第(1)款总人口=1资源type=“CurrConfig”name=“CurrConfig”容量=1调度=FIFO服务名称=“配置”行为开始从t0到与活动name=“UsingC3”internalExecTime=0.0ReceiveEventname=“ActivateC4”从到DestroyBindingname=outC3sourceStep=OpenWorld。S2_interface.CallS2目标服务=C3.S2从到电子装订name=inC4sourceStep=OpenWorld。S2_interface.CallS2目标服务=C4.S2ReceiveEventname=“ActivateC3”从到DestroyBindingname=outC3sourceStep=OpenWorld。S2_interface.CallS2目标服务=C4.S2从以形成电子装订name=inC4sourceStep=OpenWorld。S2_interface.CallS2目标服务=C3.S2(d)其他事项图五. Klaper模型:(a)图1(b)中的强制性重新配置,(b)图10中的监控,(c)图11(b)中的策略,188D. Perez-Palacin,J.Merseguer/Electronic Notes in Theoretical Computer Science 261(2010)181(d)图11中的可选重新配置。8(b)D. Perez-Palacin,J.Merseguer/Electronic Notes in Theoretical Computer Science 261(2010)1811893自愈重建本节重点介绍强制性重新配置适用时已提出的系统性能评估实际上,这种重新配置作为一个自我修复过程[7],因为当系统从室内变为室外时,当前对C2::S2的请求丢失,系统因不可用而损坏。然后,修复或重新配置是强制性的。然而,当从室外到室内的变化,虽然系统可能仍然工作,我们进行了重新配置,假设局域网连接可能是免费的,或者至少比卫星连接便宜。将使用图13(a)中的Petri网进行性能评估,该Petri网是根据D-Klaper模型手动创建的。我们已经强调了虚线框架内的差异。左边的子网模型C1::S1工作方式如下,它来自图3。中间的四个箭头表示S1所需的资源,它们来自图4。最后一个子网模拟了使用中的配置和重新配置操作,来自图5(a)。这个Petri网是广义随机Petri网[15](GSPN),它考虑了所有可能的系统配置(室内或室外)。让我们在图13(a)中讨论有关GSPN的一些技术细节在D-Klaper中为每个活动建模的时间在GSPN中表示为平均触发时间等于internalExecTime的指数转换或立即转换,具体取决于该值是否大于零。重要的是要记住,D-Klaper不考虑事件,在这种情况下,我们将getWLAN和lostWLAN(图1(b))表示为D-Klaper定时活动(图5中的室内和室外),而不是使用建议的ReceiveEvent。在这种情况下,这是可行的,因为我们可以假设系统将在室内花费一定量的时间,在室外花费一定量的时间,因此可以写入哦,是的。这些活动所花费的时间分别被设置为103和2· 103,因此我们正在评估一个在室外花费的时间是室内时间两倍的系统。 在GSPN中,这些活动由转换T40表示|室内和T45|在室外,具体地说是在重组子网中。 最后,我们注意到,在子网C1::S1,P18对决策进行建模,因为它根据配置(室内或室外)启用t21或t24,在该子网中,t37和t39也负责当系统从室内切换到室外时,操作中断。在这种情况下,执行返回到P17,服务调用将重新启动到C3。我们有兴趣评估GSPN,以获得系统在室内和室外交替使用时的性能数据。表1给出了使用GreatSPN工具[16]模拟程序获得的结果 从服务集成商的角度来看,最有趣的结果是S1响应时间,35。8吨单位,现在他/她应该检查这个结果是否满足要求。关于C2、C3、LAN和卫星的平均利用率,它们看起来非常低,尽管这些值仅指C1使用它们,但实际上它们将被其他开放世界组件使用,因此提供商负责保证它们的平均响应时间(10和25 t.u.)。分别为C2和C3相同的注释适用于平均吞吐量190D. Perez-Palacin,J.Merseguer/Electronic Notes in Theoretical Computer Science 261(2010)181Petri网评价结果结果式平均响应时间C1::S135.81−#P17+#P5χT1平均利用率C10.1381 −#P17C20.016619#P3C30.0833944#P4WLAN0.0016634#P1卫星0.0116882#P2是说吞吐量C2::S20.00166χt29C3::S20.00333χt31中断的再就业任务WLAN0.01χt37·100χt21C2::S20.1χt39·100χt28χt是转移t的平均吞吐量#P是位置P的平均令牌数表1强制性或自我修复重建行,在这种情况下,这显然与C2::S2相对于C3::S2处理的请求数有关。最后,中断请求的百分比意味着那些由于配置更改而未完成的请求。它只适用于室内→室外的变化,WLAN和等待C2::S2都可以被忽略。4可选重新配置现在,我们将研究集中在同一个系统中,但引入了可选的重新配置,目的是提高C1::S1的性能。图7和图8所示的系统设计允许室外配置的C1在C3和C4中选择性能更好的组件。性能规格考虑C3中的QoS规范仍然声明S2的平均响应时间为25个时间单位,而C4QoS声明为35,两者都是指数分布的。图8(a)中的工作流程描述了这些值,图1(a)中已经给出的注释已被省略。现在,让我们不相信C3QoS声明,然后我们决定监视这个组件,以获得关于其真实行为的更准确的数据。最后,我们认识到C3::S2工作在两种不同的模式下:峰值模式D. Perez-Palacin,J.Merseguer/Electronic Notes in Theoretical Computer Science 261(2010)181191资源类型=“C3”名称=“C3”容量=*调度=“FIFO”已提供服务已提供服务行为行为行为从到从到从到从从t0到(从到(端name=“servS2”internalExecTime=35活动开始名称=“S2”服务类型=“C4”名称=“C4”容量=*调度=“FIFO”资源端端name=“servS2”intExecTime=70name=“servS2”intExecTime=10活动活动开始开始名称=“S2”服务见图6。 Klaper型号:(a)C3::S2(b)C4::S2小时模式,平均每天持续6小时,呈现指数分布的响应时间,平均为70个时间单位;正常模式,一天中的其余时间,其平均响应时间仅为10个时间单位。尽管C3的功能行为仍然是一个黑盒,但我们可以详细说明其监视的性能行为,请参见图9(b)中的子网。转变T1、T2、T3和T4分别以平均值x、y、70和10呈指数分布由于T1和T2分别对在高峰时段和正常模式下花费的时间进行建模,则x需要为3时间比y慢(分别为6和18小时)。实际上,这个网络保留了25个时间单位的平均时间,如图8(a)中C3::S2所声明的,因此C3的QoS声明是正确的;事实上,我们的怀疑源于峰值和正常值之间的高度可变性。让我们介绍一下这项研究的目的从图8(a)中,我们可以天真地推断,C3的平均响应时间为25,C4的平均响应时间为35,那么服务集成商的选择应该总是解决C3,从而将问题简化为前一节中的问题只有当对C3的任何两个连续请求总是独立的,就像对C4的请求一样,这才是正确的。然而,由于C3拥有这两种众所周知的不同操作模式,我们肯定知道请求不是独立的,所以它们必须属于一种模式或另一种模式。因此,只要在对C3的最近请求中获得的服务时间值可用,则可以预测对C3的后续请求的平均服务时间。 如果我们假设预测的请求将属于与已经跟踪的请求相同的C3操作模式,则这将是真的。请记住,我们得到了这些模式的精确数值(10和70t.u.),我们可以把它们应用到预测中。因此,如果我们能够将对S2的当前请求寻址到当前以最低估计响应时间工作的组件(C3或C4),则可以改善S1性能,即,地址C4(35 t.u.)当C3处于高峰时段(70192D. Perez-Palacin,J.Merseguer/Electronic Notes in Theoretical Computer Science 261(2010)181S2<<开放世界>>C4C1<<开放世界>>C3C2激活C4使用C3使用C4(激活C3内部预处理[使用C3]调用C3::S2<>PAdemand=[室内] [户外][使用C4]调用C4::S2<>PAdemand=调用C2::S2<>PAdemand=内部后处理(S1(一)见图7。UML组件和部署图见图8。 (a)工作流程(b)可选的重新配置t.u)或在正常模式下工作时寻址C3(10 t.u.)。从前面两段中我们可以得出结论,开放世界组件配备监视器来跟踪它使用的那些不可信服务将是非常有趣的。因此,监控器可以获得描述这些服务的准确数据。此外,另一个模块可以通过实现能够为每个请求预测当前可以提供更好服务的提供者的策略来利用所监视的信息,在下文中,我们将讨论在我们的UML设计和Petri网中这种监控和重构策略的含义<>Host2<<无线>><><>Host3应用<<卫星>><>Host4(<>INTERNETC1C4C3<>WLAN_NETWORKC2D. Perez-Palacin,J.Merseguer/Electronic Notes in Theoretical Computer Science 261(2010)181193空闲请求C3小于响应C3/okC 3responseC 3/slowC 3After(后)监测请求C3::S2响应(一)见图9。 C3::S2中的详细性能行为4.1服务监控和重构策略图10(a)中的监视器的UML设计是一个状态机,它最初是空闲的,当请求被发送到被跟踪的组件时,它被激活,然后等待组件响应。如果这两个调用之间花费的时间小于τ,则向系统通知正确的行为(okC3),否则则发出关于故障的警报(慢C3)。与监视器对应的D-Klaper模型如图5(b)所示从D-Klaper我们将得到一个子网(图10(b)),可以看作是一个具有明确接口的黑盒模块(图10(c))。输入接口说明了寻址到被跟踪的提供者的调用(requestC3和responseC3)。 输出(slowC3或okC3)将告知提供程序的性能。 这些地方(输入和输出)将被合并,在图13(b)的系统Petri网中,到它们的对等体具有相同的名称。然后监视器将知道实际的请求和响应。考虑到在系统Petri网中有许多与我们需要跟踪的提供者相同的黑盒监视器模块,在我们的例子中只有一个,C3。最后,值得注意的是,监视器子网(图10(b))不会影响网络其余部分的性能。T1|请求C3t3|响应C3请求C3响应C3小于tT2空闲莫雷坦(一)P6| okC3P5|slowC3(b)第(1)款okC3 slowC3(c)第(1)款见图10。 监视器模块请求C3::S2T1|XT2|yT3| C3_S2T4| C3_S2(b)应对措施194D. Perez-Palacin,J.Merseguer/Electronic Notes in Theoretical Computer Science 261(2010)181重组策略旨在在监查员的协助下选择当前最佳的它们也将被建模为黑盒模块,我们称之为重构控制器(图11(a))。在UML设计中D. Perez-Palacin,J.Merseguer/Electronic Notes in Theoretical Computer Science 261(2010)181195我们将用一个状态机来表示每个策略,尽管我们目前正在研究更有表现力的方法。我们在图11(b,d)中包括了这个系统的两个简单例子,对应于第一个策略的D-Klaper模型出现在图5(c)中。第一种策略在监视器第一次检测到提供程序工作缓慢时重新配置系统,而第二种策略需要来自监视器的两个连续的slowC3因此,过渡中的事件(例如,图11(b)中的slowC3)从监视器模块接收activateC 4是在slowC3/activateC 4中触发的)。activateC4被发送到图8(b)中的状态机,以实际更改当前系统配置。另一方面,在两种策略中,从C4到C3的变化都是在给定时间(比如λ)到期时完成的(图11(b,d))。okC3slowC3.........okCn慢Cn重新配置控制器激活C3okC3 slowC3.........(一)activateCnokC3 slowC3okC3reqC 3慢C3/激活C4reqC4在激活/激活C3之后激活C4激活C3激活C4激活C3(b)(c)第(1)款(d)其他事项(五)见图11。重组策略图5(c)描述了策略的D-Klaper模型,它们将被转换为重构控制器模型(图110−慢C31−慢C3reqC4reqC4要求C3okC30−慢C3okC3slowC31−慢C3slowC 3/activateC 4之后,请检查/activateC 3reqC4196D. Perez-Palacin,J.Merseguer/Electronic Notes in Theoretical Computer Science 261(2010)181(c,e))。重构控制器输入接口(图11(a))是监视器输出,实际上是策略需要工作的事件(okC3和slowC3)。输出接口引发系统重新配置,如前一段针对ACTIVATE C4所述。同样,这些接口将与系统Petri网中具有相同名称的位置合并。因此,监视器和重构控制器将合作。请注意,我们可以得到与我们定义的重构控制器模块因此,系统Petri网表示系统,D. Perez-Palacin,J.Merseguer/Electronic Notes in Theoretical Computer Science 261(2010)181197一个既定的重组策略。图13(b)显示了对整个系统建模的Petri网。与上一节对应的图13(a)的一个重要区别是,现在它属于确定性随机Petri网[17](DSPN)类而不是GSPN。原因是监视器作为结论,我们通过转换D-Klaper模型获得了一个Petri网(图13(b))。该网络将用于评估,并对系统工作流程、需要特殊跟踪的组件、重构策略和监控器进行建模。4.2系统评价结果所得到的Petri网将有助于服务集成商评估系统的性能特性,例如,验证S1是否满足要求的响应时间,或建议应更改或改进哪些组件以实现此目标。在本节中,我们将使用图13(b)中的Petri网来实现另一个感兴趣的目的,即评估和比较所提出的重构策略。从这项研究中,我们将发现哪些表现更好或达到必要的性能阈值。考虑一下,在实际情况中,服务集成器将对一些策略感兴趣,这些策略在问题域中实际上是有意义的。特别是,我们确定了三种感兴趣的情景:• 场景1(s1)考虑图11(b)中的策略:在这种情况下,当检测到超过35个时间单位的请求时,监视器将发送事件slowC3重新配置控制器模块是图11(c)中的子网。• 场景2(s2)考虑图11(d)中的策略:在这种情况下,当检测到超过35个时间单位的请求时,监视器也将发送事件slowC3但在这种情况下,控制器需要两个连续的事件来重新配置。控制器模块是图11(e)中的子网• 场景三(s3)考虑图11(b)中的策略:然而,在这种情况下,当检测到超过70个时间单位的请求时,监视器将发送事件slowC3。再一次,重构控制器模块是图11(c)中的模块。为这些方案选择的值不是任意的。事实上,我们已经对网络(具有不同的值)进行了大量的评估,最终意识到这些网络实际上代表了感兴趣的策略。S1与“不耐烦的”服务集成商匹配场景s2和s3等待更多的此外,我们还考虑了以下场景,它们将帮助我们实现之前的实际性能改进。• 场景四(sect3):所有Outdoor请求地址C3。事实上,这就是第3节中所描述的场景。• 场景五(随机):在C3和C4之间进行随机选择(每一个的概率为0.5)。• 场景六(理想):假设系统知道每个请求198D. Perez-Palacin,J.Merseguer/Electronic Notes in Theoretical Computer Science 261(2010)181组件性能更好。显然,这在真实的系统中是不可行的,因为知道当前响应时间的唯一方法是执行真实的请求。一旦我们解决了这六个场景,我们定义了四个实验来实现我们的目标。实验(a.1)中的结果是使用表1第一行中的公式计算的,但显然适用于图13(b)中的Petri网。实验(d)中的结果也在图13(b)中的Petri网中计算,稍后解释。另一方面,(b,c)是根据达到从M.例如,在(b)的情况下,M是在域中可以被解释为使用C3的系统和在正常模式下工作的C3的标记集合,而MJ表示在正常模式下C4是C3的使用。由于篇幅有限,我们避免用Petri网给出M和MJ我们还注意到,在理想情况下,图13(b)中的Petri网必须稍微修改,因为它必须测试C3是否处于正常模式以处理请求。见图12。 可选的重新配置评估结果图12(a.1)中的第一个实验是计算S1达到的平均响应时间(RT),这实际上意味着比较D. Perez-Palacin,J.Merseguer/Electronic Notes in Theoretical Computer Science 261(2010)181199T1战略。图表显然指出理想是最好的,随机是最差的。重组策略(s1,s2,s3)似乎也得到了类似的结果。然而,在图12(a.2)中,我们表明它们之间的“相对”改善是显著的。我们说因此,我们将理想.第二个实验如图(b)所示。它显示了我们所说的“错误的重新计算”,即,C3在正常模式下工作,但策略错误地预测C3已变为高峰时段模式,因此策略错误地决定开始调用C4。请注意,不存在“错误的记录”因为当给定λ时,策略从C
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功