没有合适的资源?快使用搜索试试~ 我知道了~
PEPA测试:在测试网络中的PEPA模型与随机过程代数的应用
理论计算机科学电子笔记190(2007)3-25www.elsevier.com/locate/entcsPEPA测试:在测试网络Ashok Argent-Katwala Jeremy T.布拉德利1英国伦敦帝国理工学院计算机系摘要消费网络的形式主义非常善于描述顾客的空间移动,但通常不善于描述顾客在网络中移动时的变化我们提出了PEPA的形式主义,它使用流行的随机过程代数PEPA代表个人的状态和行为的客户和服务器。我们为PEPA模型提供了一个正式的语义,加上直接翻译到PEPA,允许访问现有的工具来分析PEPA模型。最后,我们使用ipc/DNAmaca工具链来提供一个双Web服务器示例的实时分析保留字:随机过程代数,PEPA,嵌入式网络1引言混沌理论是一门成熟的学科,擅长对许多复杂系统进行定量描述和分析。有一些著名的网络类具有易于处理的解决方案,许多建模者发现它们是一种自然的建模形式主义,可以捕获资源争用和缓冲。然而,尽管消费网络非常擅长表示系统的广泛 事实上,将所有客户视为不透明、无法区分的实体是很常见的。这些客户没有单独的内部行为,但在需要时可以被隔离到一小组静态类中。PEPA网络[2]通过允许客户拥有个人行为来增强普通的网络。在这种形式主义中,我们使用随机过程代数,1电子邮件:{ashok,jb}@ doc.ic.ac.uk1571-0661 © 2007由Elsevier B. V.出版,CC BY-NC-ND许可下开放获取。doi:10.1016/j.entcs.2007.07.0024A. Argent-Katwala,J.T.Bradley/Electronic Notes in Theoretical Computer Science 190(2007)3PEPA,代表客户的本地行为,服务中心以及他们如何互动。来自排队论的简单机制描述了客户在队列之间的迁移。PEPA的形式主义是直接自动翻译成PEPA,让访问现有的各种工具,可用于分析系统建模的PEPA [9,6,12,3]。在第2节中,我们介绍了PEPA和PEPA网。第3节概述了PEPA的性能,以及我们如何从性能理论中建模一些常见的机制。 第4节定义了PEPA语法和行为, 一个简短的例子,后面跟着正式的语义。在第5节中,我们展示了如何将一个PEPA模型系统转换为一个等价的PEPA模型。在第6节中,我们通过对内联网上的双Web服务器进行建模,展示了使用PEPA模型保持空间分离和本地行为的好处。我们讨论了未来的工作,并在节结束。7 .第一次会议。2背景2.1PepaPEPA [11]是一种简约随机过程代数,它可以描述复杂的随机模型.与所有进程代数一样,系统在PEPA中被表示为执行操作的组件的组合。在PEPA中,假设动作具有持续时间或延迟。因此,表达式(α,r).P表示一个组分,它能以速率r进行α作用而演变成组分P。 这里α∈A,其中A是动作类型的集合,P∈C,其中C是组件类型的集合。 速率r表示指数分布,并且持续时间被假定为随机变量。PEPA有一个小的组合子集,允许系统描述被构建为简单顺序组件的并发执行和交互。本文中考虑的PEPA模型类型的语法可以使用以下语法正式S::=(α,r).S|S +S|C S P::= PDP| P/L|CL其中S表示顺序组件,P表示并行执行的模型组件。C代表一个常数,表示由定义引入的顺序组件或模型组件CS代表表示顺序元件的常数这些类型的常量之间的这种语法分离的效果是将合法的PEPA组件约束为顺序过程的协作。更多信息,包括PEPA的结构化操作语义,A. Argent-Katwala,J.T.Bradley/Electronic Notes in Theoretical Computer Science 190(2007)35defdef在[11]中找到。 下面简要讨论基本PEPA运算符用PEPA模型描述系统行为的基本机制是使用前缀组合子为组件指定第一个操作如上所述,(α,r).P以速率r进行α作用,随后表现为P。选择分量P+Q表示一个系统,它可以表现为P或Q。P和Q的活动都已启用。第一个要完成的活动区分了其中一个:另一个被丢弃。系统将表现为所选组件演化能够为与组件相关的行为模式指定名称是很方便的。常数是其意义由定义方程给出的分量。这个公式的符号是X=E。 名称X在右边表达式的作用域中,这意味着,例如,X=(α,r).X永远以速率r执行α。隐藏隐藏操作符提供了抽象组件行为的某些方面的可能性在这里,集合L标识了那些被认为是组件内部或私有的活动,这些活动将作为可区分的未知类型τ出现。我们写PDQ来表示P和Q在L上的合作。L作为合作符号下标的集合,cooper-动作集L确定了那些强制组件同步的活动。集合L不能包含未知类型τ。对于不在L中的操作类型,组件独立地并并发地进行,活动 我们写P当L为空时,作为PDQL在流程协作中,如果一个组件启用了其操作类型在协作集中的活动,则它将无法继续进行该活动,直到另一个组件也启用了该类型的活动。然后,这两个组件一起以适当的速率完成共享活动。部件P执行动作α的能力记为rα(P),称为表观速率。PEPA尊重有限能力的定义:也就是说,一个组件不能通过合作更快地执行一项活动,因此合作中共享活动的表观速率是合作组件中活动的表观速率的最小值。2.2PEPA网PEPA网[10]将PEPA组件嵌入到Petri网中,仅当组件在网上时才允许这允许清楚地描述系统,其中不同的部分是移动的,例如,进出具有网络连接的区域。PEPA网本质上是有色随机Petri网[1],其中6A. Argent-Katwala,J.T.Bradley/Electronic Notes in Theoretical Computer Science 190(2007)3令牌是PEPA组件的状态这种状态可以随着系统的独立发展或与相邻组件的合作而变化网络上的位置是用组件名称来键入的;它们只能被该类型的派生组件占用。网络级转换具有关联的动作类型和速率。当一个移动组件执行一个网络级的迁移动作,与网络本身合作,移动到一个适当类型的空槽中时,组件在网络中移动。PEPA网是更高层次形式主义的一个很好的例子。除了具有自己的显式语义外,它们还可以编译成PEPA,并使用现有的PEPA工具进行分析这启发了我们的方法PEPA嵌入式,我们在嵌入式网络,而不是一个Petri网的PEPA组件。正如PEPA网为随机建模带来了Petri网的空间优势这两种形式主义都允许对令牌或客户进行更大的行为控制。3概述当在PEPA中建立一个面向客户的销售系统模型时,常常容易混淆销售行为与单个代理的描述。在我们拥有复杂的移民客户的地方,简单合作的优雅可能会被每个客户目前所在的规模所掩盖PEPA模型鼓励建模者通过将系统表示为队列网络来保持本地行为和运动分离,每个队列都有一个本地组件,与队列头部的组件合作请注意,PEPA队列的状态由在队列中等待的每个组件的当前状态(按顺序)和本地组件的状态给出。这通常不能用一个不透明的客户的向量来表示,就像典型的不透明客户一样。相反,它类似于一个多类学习网络,其中类不遵守学习纪律。例如,考虑图1中的单个PEPA队列。它在其输入缓冲器中有四个位置,本地分量是Q,并且它在动作集合L上与队列的头部合作。队列的状态可以给出为[P,PJ,P,PJ],其中PJJ在队列的最前面。 目前,我们并不关心P,PJ,PJJ和Q的精确定义,它们是普通的PEPA分量。对服务时,将提升服务器中的下一个客户以替换所服务的客户。QLFig. 1. 单个PEPA队列为了简单起见,我们将自己限制在使用先到先服务原则的单服务器队列的封闭网络所有队列都有固定大小、有限的缓冲器,PP'PP“A. Argent-Katwala,J.T.Bradley/Electronic Notes in Theoretical Computer Science 190(2007)37的发球局- -(send、S直到{milk,鸡蛋,支付}{milk,鸡蛋,支付}P乳P卵P卵P乳因此,网络拥有固定和有限的客户群体当目标队列已满时,不会有任何损失;导致队列已满的队列服务会被阻塞。处理开放网络、无界缓冲器、触发器和负客户是可取的,但是将这些实体转换成PEPA不那么简单。在这里,我们专注于一个简单的核心,我们可以在未来建立有三个不同的层到PEPA存储模型:客户PEPA组件代表每个客户。客户可以在内部演化,或者在队列组件处于服务中时与队列组件协作演化。它可能不会在队列的合作集中执行操作,除非它在服务中。每个队列都有一个本地服务器组件,它与服务中的客户合作,通过一组声明的操作。 通过执行路由操作,它可以确定何时发送客户以及将客户发送到哪个队列。它也可以与其他队列中的本地组件合作,基于在排队系统方程中定义网络路由我们使用PEPA协作来决定组件在获得服务后的去向。客户只能移动到一个特定的目的地队列,如果有一个开放的插槽在该队列(redo,T)(重复,T)图二、一个小奶制品店,以两个PEPA奶制品为模型队列A包括四个时隙缓冲器和S服务器,队列B包括两个时隙缓冲器和S服务器。4.1节给出了PEPA语句网络的形式语法,4.3节给出了结构化操作语义。首先,我们来看一个简短的例子。3.1示例:乳品店具有两个队列A和B的系统,如图2所示。Pmilk和Peggs分别是想买牛奶和鸡蛋的顾客。Sserve和Still是分发商品和接受付款的服务器组件。破折号表示B的缓冲器中的空槽首先,我们研究一下网络中的PEPA组件。P牛奶和P鸡蛋组件是在队列A中开始等待的顾客;每个人都试图8A. Argent-Katwala,J.T.Bradley/Electronic Notes in Theoretical Computer Science 190(2007)3牛奶诺米尔克=(S冰碛购买不同的产品并付款。客户可以一直执行这两个操作,并且通过他们如何在网络中进行来确保正确的顺序P eggsd=ef(egg,T). P eggs+(pay,T)。P卵P牛奶d=ef(milk,T)。P牛奶+(pay,T)。P乳服务器组件确定系统中客户的路由。在第一个队列中,服务器可能缺货,在这种情况下,所有客户都必须等待它变得可用。这说明了在服务器和客户组件中具有本地状态的交互。Seggsd=ef(egg,T). Snoeggs+(ex pire,eeggs).SnoeggsSnoeggssd=ef(restockeggs,reggs). 的卵Sd=ef(milk,T)。S +(ex pire,e)。SSnomilkd=ef(restockmilk,rmilk).的乳汁Swaitd=ef(eggs,T). Ssending+(milk,T)。SsendingS发送d=ef(send,9r)。S10等R+(redo,10)的。S等S发球鸡蛋 || S milk)D{牛奶,鸡蛋}我们等Sd=ef(pay,T)。(process,p). (repeat,s). S只有当这些组件执行队列路由操作(发送、重做和重复)时,客户才在队列之间移动。在三种情况下可能阻止这些操作:• 没有顾客排队;• 路由动作在队列• 在队列中没有路由动作将导致的空间。如果队列外的相同操作会导致多个队列,则只启用具有移动空间的队列,PEPA的竞争选择将选择我们采取的路线。现在,我们转向网络本身。虽然图片是有用的,但我们也希望有一个清晰的文本形式来捕获图中的所有信息。 我们需要定义网络中的路由以及各个队列及其缓冲器的状态。为了引用队列,我们给它们命名。队列名称以“Q:“为前缀A. Argent-Katwala,J.T.Bradley/Electronic Notes in Theoretical Computer Science 190(2007)39名字,因为冒号是不允许的。前缀为“QNet:“的伪组件图2可以完全描述为:Q:Ad=ef(redo,T)→Q:A+(send,T)→Q:BQ:Bd=ef(repeat,T)→Q:AdefQNet:Sys =(Q:A[P牛奶, P鸡蛋, P鸡蛋,P牛奶]D鸡蛋,牛奶,支付S发球)|| (Q: B[−, −]D鸡蛋,牛奶,支付这种语法在4.1节中定义。Still)该规范的前两行定义了客户获得服务时的目的地。当服务器组件(可能与客户合作)执行这些路由操作中的任何一个时,服务就发生了。在这个例子中,所有的动作名称都是不同的,但是建模者可以使用竞争选择来选择目的地。我们选择使用被动的路由动作,并让服务器进程Sserve和Still确定费率。这只是一个建模选择,你可以让网络决定速率,或者使用主动-主动同步,如果这更适合建模的情况。如果一个路由动作包含在队列- 组件只能一起执行操作,就像任何PEPA合作一样。如果他们不在合作中,则客户执行的任何路由操作都是纯内部的,并且不会改变客户在路由网络中的位置请注意,正确形成的PEPA组件网络将不会有任何未解决的被动操作,其中组件被动地执行操作,但不对该操作进行协作。这与PEPA中的限制相同,但建模者还必须考虑客户移动到合作集可能不同的地方。规范的最后一行是嵌入系统方程。方括号包含每个队列的缓冲器的状态如果一个队列只是一个接收器,它将在其他队列路由方程中被引用,但没有自己的队列路由方程也许应该有一种更优雅的方式在语法中表示这一点为了简化这些描述,我们也允许队列状态描述中的P<$n和− <$n分别表示P和n空间的n个副本。为了后面的简化,我们允许P0和−0的退化结构,它们在队列的缓冲器中不占用空间10A. Argent-Katwala,J.T.Bradley/Electronic Notes in Theoretical Computer Science 190(2007)3牛奶鸡蛋牛奶1123231因此,上述的系统方程可以重新表述为:QNet:Sysd=ef(Q:A[P,P=2,P]D鸡蛋,牛奶,支付 S发球)|| (Q: B[−∗ 2]D鸡蛋,牛奶,支付 Still)虽然我们允许在网络层面上进行合作,但应谨慎使用。其目的是使用网络的分离空间迁移的本地行为。允许网络级交互打破了这种分离,但可以很好地用于固有的全局操作,如关闭整个系统和各种形式的重置。通常情况下,我们会有,如在上面的例子中,队列之间的直接并行同步。3.2建模特征PEPA模板允许对许多模板机制进行简洁的表达。例如,我们可以在PEPA服务器网络中建模故障和修复,如下所示,允许单个服务器发生故障并进行修复,或者如果所有服务器都发生故障,则进行全局重置。为了简洁起见,我们省略了顾客PS1d=ef(reprocess,s1)。S1+(cotinue,s2). S1+(break,rdown). SJSJd=ef(repair,rup)。S1+(allrepair,reresett). S1S2d=ef(route,s). SJ+(break,s )。SJ2下2SJd=ef(repair,supp)。S2+(allrepair,reresett). S2S3d=ef(route,s). SJ+(break,sdown). SJ3 3SJd=ef(repair,supp)。S3+(allrepair,reresett). S3Q:Prid=ef(reproces,T)→Q:Pri+(contue,T)→Q:SecQ:Secd=ef(route,T)→Q:TerQ:Terd=ef(route,T)›→Q:PridefQNet:Sys =(Q:Pri[P, P]DS)∅D{allrepair}D{allrepair}(Q:Sec[−,−,−]DS)∅(Q:Ter[−,−,−]DS)∅A. Argent-Katwala,J.T.Bradley/Electronic Notes in Theoretical Computer Science 190(2007)311defdef4PEPA的定义4.1语法PEPA队列的语法分为两部分:队列之间的路由和每个队列初始状态的队列系统描述客户和队列服务器的所有组件都在PEPA中指定。系统中的每个队列都有一个独特的名称,在最终的系统定义中只能使用一次。队列级路由使用箭头组合子定义,寻址队列的名称,它们都有一个QName::=Q:NameQRoute::= QName = QTransListQTransList::= QTrans |QTrans + QTransListQTrans::=(α,r)−→QName我们的排队系统描述使用这些Q:X名称来定义每个队列中客户的初始位置,他们与该队列的合作集以及队列之间的合作集:QSys::=QNet: 名称 = QListQList::= QDef |QDef CoopSet QListQDef::= Q:Name [QCustNameList] CoopSetName CustNameList::= CustName|客户名称、客户名称列表客户名称::=名称| − |姓名:陈小姐|−coopSet::=DActNameList | ||ActNameList ::= 名称|名称,ActNameList4.2PEPA的性能在定义PEPA对象的形式语义并描述它们向PEPA的机械转换之前,考虑PEPA对象的网络如何直接演变是有启发性的。在任何PEPA网络中,都可能发生三种类型的过渡:本地服务器或客户组件中的任何一个都可以独立地发展,只要该动作不在该队列的合作集中服务中的合作排队的顾客与服务员合作。12A. Argent-Katwala,J.T.Bradley/Electronic Notes in Theoretical Computer Science 190(2007)3(a, r)JJ(a,r)一$a队列中静止组件。如果这是一个路由动作,我们将其处理如下,否则它将被视为两个组件的局部演化,以适当的组合速率。网络级服务器转换可能导致客户在网络中移动。每当队列中的固定组件执行服务操作时,就会发生这种情况。我们将已服务的客户移动到目标队列中的第一个空位-即最接近服务的空位置。这确保了我们永远不会在队列的缓冲区中留下任何空白。我们使用PEPA模板的目的是为建模者提供表达上的方便在保留PEPA的大部分简单性和所有基础良好的同时,我们通过将PEPA转换为PEPA来做到这一点。每个PEPA队列模型都可以被机械地重写为PEPA模型,而其行为没有变化。在编译后的PEPA模型中,原始模型的某些结构可能会变得模糊不清,因此工具通常更倾向于直接使用PEPA模型翻译成PEPA使我们能够使用广泛的现有工具,并为可能希望直接使用PEPA的工具制造商和建模人员提供精确的行为定义。翻译成PEPA并不是分析PEPA错误的唯一方法。在未来,我们希望还可以直接转换为PEPA网络,保留大部分空间结构,这将允许智能PEPA网络工具在其分析中利用空间特征。如果我们创建了处理PEPA网络的工具,同时保留了它们的结构,那么从PEPA网络到PEPA网络的转换也应该是有用的。此外,根据PEPA网络结构,直接应用已知网络结果的工具将允许更快地解决许多问题。这是未来工作的丰富来源。4.3PEPA语句4.1关系−→,作用于成分名集合。P−→ P意味着P以速率r执行动作a并演化为P。这在《易经》中有明确的定义。定义4.2关系−→,在命名队列集合上操作。Q:A<$−→ Q:B意味着有一个速率为r的队列路由动作a从队列A通向队列B。定义4.3关系/→,在命名队列集合上操作。问:A›−→(a, r)相当于Q:B[Q:A<$−→ Q:B],这不是Q:A的路由操作。定义4.4rα(P)是表观速率函数,如[11]中所定义。A. Argent-Katwala,J.T.Bradley/Electronic Notes in Theoretical Computer Science 190(2007)313αα定义4.5RJ(A)是队列路由动作的二级表观速率函数。α必须是Q:A的路由动作,并且RJ(A)是当前状态下Q:A的所有启用的α现在,我们可以单独指定PEPA企业网络可以发展的所有法律方式。在整个过程中,每个省略号表示一个(可能是空的)组件列表,在转换后保持不变。IN表示正整数,因此下面的−n表示队列的缓冲器中至少有一个空槽。客户单独该规则管理在队列中任意位置独立进化的客户。请注意,这只允许不在队列的合作集中的操作。不处于服务中的客户可能不会执行这些操作,处于服务中的客户通过规则本地协作执行这些操作。(α,λ)JP−→Pα∈/L问:A [...],P,... ]D(α,λ)JDSS−→Q:A [...,P,...]L L仅服务器服务器进程可以独立地执行不在队列协作集中的动作,而不管缓冲器的状态如何。(α,λ)JS−→Sα∈/L问:A [.] ]DL(α,λ)S−→ Q:A[... ]DSJL地方合作只有队列的头部可以与服务器进程合作执行L中的操作,并且它们必须一起执行。PD(α,λ)S−→P dSJαQ:A−→/L Lα∈L问:A [...],P]D(α,λ)dSJS−→Q:A [...,P]的范围L L服务器路由1声明为了让客户在队列之间移动,第一个队列的服务器移动的客户移动到第一个空插槽。 其中n是描述Q:B中空格的最大n。路由动作可能不会出现在队列间协作集合LQ中。(α,λ)J(α,λq)SA−→SAQ:A<$−→Q:Bα∈/L ,α∈/L,n>0,R如下(问:A[...],P]的范围DSA)LAD(Q:B[−n,. ]LQ(α,R)A QSB)−→LB(问:A[−,. ]DSJ)D(Q:B[− n(n−1),P,. [D/S]L AAL QLBB服务器路由2作为服务器路由1,但路由操作导致相同的队列。请注意,我们仍然需要一个空槽,以避免不适当地优先考虑本地路由。否则,D14A. Argent-Katwala,J.T.Bradley/Electronic Notes in Theoretical Computer Science 190(2007)3一一α当不允许来自其它队列的到达时,可以允许顾客移动到其刚刚离开的队列的后面。(α,λ)J(α,λq)SA−→SAQ:A−→Q:Aα∈/L ,n>0,R如下D(α,R)DJA(问:A[−n,...,P]的范围LAS A)−→(Q:A[−n,P,. ]LASA)Coop路由1对于也在队列的协作集中的路由操作,该操作必须在领导客户和队列的服务器之间协作发生。同样,路由动作可能不会出现在队列间协作集合LQ中。PD(α,λ)JDJ(α,λq)SA−→PLLSAQ:A−→Q:B(问:A[...],P]的范围DSA)LAD(Q:B[−n,. ]LQ(α,R)SB)−→LBα∈LA,α∈/LQ,n>0, Raelow(问:A[−,. ] DSJ)D(Q:B[− n(n−1),PJ,. [D/S]L AAL QLBBCoop路由2就像Coop路由1一样,但是路由到相同的队列。 与服务器路由2一样,我们需要队列中有一个空槽。PD(α,λ)JDJ(α,λq)SA−→PLLSAQ:A›−→Q:AA Aα∈LA,α∈LQ,n>0,R如下问:A[−n,...,P]DS(α,R)dSJA−→ Q:A[−n,P,. ]LALA最后四条规则:λ λqR=min(r(S),rJ(A)rα(SA)rJ(A)α Aα其中,R表示服务组件与接入网络之间的主动协作的速率。与PEPA一样,它反映了协作中较慢组件的速率。请注意,我们不允许队列之间的路由操作合作。如果我们这样做,那么我们将包括一类潜在的有趣的同步耦合队列,但代价是更复杂的转换。在我们目前的翻译中,我们使用路由操作的名称,并使用它们发生的位置进行装饰,以便为每个路由操作提供全局唯一的名称如果我们允许在这个级别上进行合作,我们将需要一些其他的机制来迁移组件。我们还可以进一步扩展扩展动作名中的信息,但是需要在动作名中表示哪对进程正在协作,这将导致所使用的名称数量激增。我们可以想象使用同步即时动作来实现这些耦合队列,但我们首先需要具体定义D一A. Argent-Katwala,J.T.Bradley/Electronic Notes in Theoretical Computer Science 190(2007)3155翻译成PEPA在将PEPA网络转换为PEPA时,我们使用与将PEPA网络转换为PEPA类似的方法。我们对模型的空间部分进行编码通过使可能占据给定位置的每个组件具有休眠版本,并且在更高级别的模型中,当该组件到达该特定位置时简单地激活它们。这有点麻烦,因为它会导致系统中组件数量的大爆炸,我们通常会创建一个巨大的模型(文本)和一个非常大的状态空间。然而,这确实意味着我们可以使用现有的工具来处理PEPA模型,其中许多工具可以处理非常大的状态空间,其限制正在不断改进。由于我们的缓冲器中的插槽没有以任何方式键入,我们需要为可能出现的每个组件定义,在它可能占据的每个位置5.1翻译细节从PEPA文件到PEPA文件的任何转换通常都会增加 在一个有n个连接位置和m个顾客状态的系统中,用n(m+ 1)的因子来定义元件。我们需要区分n个插槽中的每一个是空的还是有m个客户组件中的任何一个。通过巧妙的编码,我们可以避免表示无法到达的状态:例如,特定客户永远无法到达网络的一部分。然而,探索可达性的成本,条件是它可以执行的动作,因为它穿过网络,将是太高的非平凡网络。翻译模型的基本结构如下:(i) 每个客户类型由许多组件定义表示,每个组件定义对应于客户可以到达的每个空间状态和衍生客户组件。对于每个嵌入位置存在一个空间状态(ii) 插入转换被分割成许多可区分的动作名称,每个动作名称都指向队列中的一个特定槽。 我们用几个不同的新动作来代替每个路由动作,这些动作对目的地进行编码。所有的新动作都以与原始动作相同的速率发生,然后我们确保一次只有一个动作处于活动状态。当相同的动作被用于路由到不同的目的地时,每个目的地都以这种方式扩展,并且我们使用PEPA(iii) 每个队列都有一个人口跟踪器组件,用于跟踪该队列中的客户数量。具有n个槽的队列X的跟踪器组件将具有n+1个状态,QXpop0到QXpopn。在每个状态下,它仅启用队列路由操作,以确保将客户交付给第一个16A. Argent-Katwala,J.T.Bradley/Electronic Notes in Theoretical Computer Science 190(2007)3defdefdef可用的插槽,没有客户可以加入一个完整的队列。为了处理不同的操作规程,我们将改变这些组件启用的操作。请注意,要允许移动,目标插槽必须为空。这意味着在3.1节的例子中,当所有四个客户都在队列A中时,重做操作被禁用。即使在主要客户搬家后会有一个空闲的位置,但在那之前是没有的。如果我们容许这种形式的流动,便会给予来自同一队列的顾客优惠待遇。也就是说,客户仍然可以移动到自己队列的后面,而来自其他队列的到达被阻止。路由操作上的下标Xn指示队列X处的当前队列长度,包括服务中的任何客户。因此,在被这个动作服务时,客户将被放置在队列X的槽n+1中。奶制品店例子翻译的完整源代码可以找到 附录A中它可以通过应用以下变换来获得设Rin(X)是进入队列X的路由动作的集合;Rout(X)是离开队列X的路由动作,而Capacity(A)是队列A处的缓冲器中的位置数。队列名称是系统中所有队列的名称集合队列A的人口跟踪器如下所示。该索引指示队列中的客户数。QApop 0=QApopi=Σa∈Rin(A)Σa∈Rin(A)Σ+(d,r)A›−→B(aA0,T)。QApop1(aAi,T). QApopi +1for 0
下载后可阅读完整内容,剩余1页未读,立即下载
![.pdf](https://img-home.csdnimg.cn/images/20210720083646.png)
![.pdf](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![tgz](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- BSC绩效考核指标汇总 (2).docx
- BSC资料.pdf
- BSC绩效考核指标汇总 (3).pdf
- C5000W常见问题解决方案.docx
- BSC概念 (2).pdf
- ESP8266智能家居.docx
- ESP8266智能家居.pdf
- BSC概念 HR猫猫.docx
- C5000W常见问题解决方案.pdf
- BSC模板:关键绩效指标示例(财务、客户、内部运营、学习成长四个方面).docx
- BSC概念.docx
- BSC模板:关键绩效指标示例(财务、客户、内部运营、学习成长四个方面).pdf
- BSC概念.pdf
- 各种智能算法的总结汇总.docx
- BSC概念 HR猫猫.pdf
- bsc概念hr猫猫.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)