没有合适的资源?快使用搜索试试~ 我知道了~
理论计算机科学电子笔记54(2001)网址:http://www.elsevier.nl/locate/entcs/volume54.html11页Linda1罗伯托·布鲁尼和乌戈·蒙塔纳里2计算机科学系,比萨大学,56125比萨,意大利摘要零安全网是Petri网的一种变体,其中事务可以被适当地建模。其思想是区分稳定位置(其标记定义可观察状态)和零安全位置(其中令牌只能临时分配,定义隐藏状态):事务必须在可观察状态中开始和结束。我们提出了一个扩展的协调语言琳达,称为TraLinda,其中一些基本的原语,用于表达交易的元组的不同类型的装置。通过利用Busi,Gorrieri和Zavattaro在Linda类语言的网络建模上的先前结果,我们为TraLinda定义了一个基于零安全网络的并发操作语义,其中元组的类型明显反映了稳定和零安全位置之间的区别。关键词:事务,Petri网,零安全网,协调,Linda介绍地点/变迁Petri网(PT网)是并发和分布式系统的基本模型,其中利用了两个基本设计假设:(i) 状态是(类型化资源的,即令牌的)多集合;以及(ii) 基本动作(转换触发)可以原子地获取(和释放)几个状态组件,从而在事件级同步令牌。这些假设的一个主要优点是,并发触发(步骤)的概念是状态的多集结构的结果,即,计算可以直接配备有真正的并发语义(与交织语义相反此外,在(i)和(ii)的基础上,可以定义一个包含基本范式的一些限制的模型分类:具有读弧的网(r-nets)允许对“读而不消费”进行建模1由TMR Network getgrats和MURST Project tosca支持的研究。2 电子邮件:fbruni,ugodi.unipi.itc2001年由Elsevier Science B出版诉 在CC BY-NC-ND许可下开放访问。布鲁尼和蒙塔纳里2零安全网(ZS网)引入了具有抑制弧的网(i-nets)允许测试此外:有色或高级网络允许使用控制)。网的不同风格太多了,在这里无法提及(例如,时间、概率、优先级)。在[1]中已经暗示了上述一些模型和Joinagents [15]的类型化子类之间的有趣对应关系,并在[8]中正式绘制。注意,某些特征在某种程度上是正交的,并且可以以最小的努力混合在一起。例如,read和inhibitor arc可以很容易地组合在一起,以在ri-nets中建模积极/消极上下文的一般概念,而在[6]中,我们在零安全框架内引入了read arc。点(这些操作使Linda适合在并发设置中表示非原子流程协调。当元组被视为非结构化数据时,Linda的并发语义可以通过ri-nets [10,9]进行适当的建模特别是,有趣的是[12,11,9]中Linda类进程代数的有序和无序语义之间的区别:在for- mer语义中,元组的输出被视为消息发射的原子执行,然后在元组空间中呈现(使其可用于其他代理),而在后一种观点中,这两个阶段是自治的(发出的消息可以异步呈现这种区别反映了语言的表达能力:有序语义起源于图灵完备语言,而在无序情况下,死锁是可判定的[12]。基于这些表示结果,我们的目标是双重的:一方面,我们希望扩展零安全的方法来处理抑制弧,另一方面,以这种方式获得的网络可以直接应用于配备原始事务机制(沿着有序或无序语义)的Linda类语言的并发建模事实上,虽然ad-hoc事务机制集成在诸如JavaSpaces和JavaOrches的语言中,但我们希望对文献中提出的许多演算的事务进行统一处理。[3]在文献中,语境网和c-net这两个术语被滥用,要么仅仅表示正语境,要么表示两种语境;为了避免混淆,我们坚持使用明确的符号ri-net。布鲁尼和蒙塔纳里3事务作为转换同步。虽然PT网依赖于位置同步,但它们缺乏转换的同步,这将允许将一些(有限的,但可能复杂和并发的)计算视为原子事件。转换同步例如在分布式决策算法建模中是必不可少的,其中没有特定位置可以实现选择点。我们的观察结果可能并不令人惊讶,因为在Dijkstra通信过程和进程代数中已经很明显,有必要单独定义实体,这些实体可以通过发送和接收信息进行合作,但在其他方面被视为来自环境的黑匣子转换同步也是开放式系统的一个关键方面:在隔离设计流程时,程序员必须考虑所有可能发生的交互,但这些交互可能很好地依赖于接收到的数据,并且可能需要对其执行进行一些原子性假设(例如,具有传输请求和ACK的通信协议,或者电子商务应用,其中客户我们用transactions(滥用数据库术语)来表示并发场景中的原子计算。在添加事务时,必须处理两个主要问题:语义,即交易的理论表征,使得研究它们的属性以及它们可以组合在一起的方式成为可能(例如,并行地、顺序地);以及算法,即,能够实现事务的分布式解释器的开发,与语义级一致使用回溯)。因此,选择一种形式语言是很方便的,在这种语言中,这些问题也可以在语法级别上轻松处理。[5]中提出的解决方案试图使这些直觉具体化。事实上,在PT网中同步转换执行的最简单方法是通过在位置(的子集)上交换令牌。ZS网通过区分稳定位置(定义可观察状态的普通资源库)和不能包含任何可观察状态的令牌的零安全位置来利用这一思想。触发转换可能会将令牌放在零安全的地方,开始一个事务;这些令牌(称为零令牌)用于协调事务。必须删除所有零令牌此外,在交易过程中产生的所有稳定令牌只有在交易结束时才有效释放。因此,在事务期间获取的所有稳定资源必须存在于初始稳定标记中。这在某种程度上描述了低层次模型。在抽象层次上,事务必须被视为普通的转换。这种观点产生了一个PT网AB,它是ZS网B的抽象对应物:N的位置是B的稳定位置,AB的每个转换对应于B的一个基本事务(即,不能被分解为两个较小的不相交的事务的事务)。请注意,当B是有限的时,AB也可以变成无限的,并且事务保留了关于B的同步演化的所有因果和并发信息。此外,在[4]中已经提出了ZS网的分布式解释器因此,可以使用ZS网来给出分布式决策的模块化表示,因为任何网都可以建模为自由选择ZS网的抽象对应物[4]。布鲁尼和蒙塔纳里4琳达的交易。Linda是最具代表性的协调语言,其中异步通信是通过在共享的多元组集合中插入、读取和撤回元素来实现的。在某种程度上,这是类似于使用积极/消极的背景下,网,琳达还允许测试的存在/不存在的消息在元组空间。它的通信机制被称为生成机制,因为一旦生成,直到删除,每个消息都可以平等地访问所有进程,而不受特定进程的约束然而,在核心语言中没有用于表达事务的原语(但是参见例如,[13]中提出的扩展,用于研究JavaSpaces中的可串行性)。由于与Petri网(元组作为令牌)的类比,其思想是通过区分一类低级消息来提供我们称这些消息为零安全消息,因为它们只存在于事务中才有意义,即,它们的寿命持续到生产者和消费者达成某种决定所需的时间。其余的消息被称为稳定的,以表明它们包含的信息对系统的实际配置有很大的贡献。作为一个简单的例子,让我们考虑多集重写的建模:代理P需要所有的消息a1;:;ann,不管它们被消费的顺序如何,来启动任务Q。当然,我们寻找一种简单的方法来指定没有进程P0可以同时获取资源a1;:;ann,死锁P。其思想是将P写为in(a1)out(pZ);:;in(ann)out(pZ)和in(pZ):in(pZ)Q的并行组合,其中:所有ai都是稳定的,pZ是零安全的,in是输入操作,out是输出操作,并表示原子前缀,Q由in(pZ)预先固定n次。然后,只要任何ai被消耗,事务就开始,并且原子前缀强制输出零安全消息pZ;此外,事务只能在已经产生n个消息pZ时提交,其中Q的原子前缀可以消耗。请注意,Q不能被激活,除非所有的ai都被检索到。我们称TraLinda为通过使用事务原语扩展Linda内核而获得的语言,上面部分描述了事务原语。论文的结构在第1节中,我们回顾了具有读弧、抑制弧和零安全位置的Petri网的基础知识,以及Linda的语法和并发语义。第2节介绍了零安全方法中的抑制弧,而第3节基于第2节中讨论的网络定义了TraLinda及其并发语义1背景1.1Petri网一个网是一个三元组N =(S N; T N; FN),其中S N是位置a; a 0;:,T N是位置t;t0;:(其中SN\TN=?)和FN(SNTN)[(TNSN)称为流关系。布鲁尼和蒙塔纳里5!))ub cv v ww!uwu2 St:uwv2Tu1 w1=w1Rv1w1u2 w2=w2Rv2w2u=)RuW=)Rv Wu1u2bw1w2cbw1w2c=)R12b12c图1. 给出了=)R.FN的元素称为弧,我们将(x;y)2FN写成xFNy。我们将用N来表示SN[TN],如果不可能引起混淆,则省略下标通常,x2N的前置集和后置集是x =fy 2N j yFxg和x =fy 2N j xFyg。 假设t 6=?对于所有的t2t。A标记u:S! N是一个有限的多重位置集。它可以写成u= fn1a1;:; n k a k g,其中每个n i表示a i中的标记数(如果n i= 0,则niai被省略),或者作为形式和u=Lai2Sniai表示S上的自由交换幺半群S的元素(幺半群运算定义为(Liniai )(Limiai ) =(Li (ni+mi )ai),以0为单位)。我们将超负荷符号来表示多集包含。标记库所/变迁Petri网(PT net)是一个元组N =(S; T; F; W; uin)使得(S; T; F)是一个网,函数W:F! N给F中的每条弧赋予一个正的权重,而有限多集u在:S! N是N的初始标记。我们发现将F看作函数F:(S T)[(T S)! f0; 1 g,其中x F y()F(x; y)6= 0。然后,对于PT网,我们可以将F和W都表示为多集关系F:(S T)[(T S)! N. 对于任意变迁t2T,设pre(t)和post(t)是S上的多重集,使得对于所有a2S,pre(t)(a)=F(a;t)和post(t)(a)=F(t;a)。 我们写t:u! v,其中pre(t)= u且post(t)= v。带有读弧的标记网(r-net)是一个元组R =(S; T; F; R; uin),其中NR=(S; T; F; uin)是底层PT网,R:ST! f0; 1 g是上下文关系。虽然在处理上下文多重关系方面没有技术困难(请参见例如[6]),因为当前的呈现更简单地考虑上下文关系,记住[7]的最大共享假设 我们用ctx(t)表示由ctx(t)(a)= R(a; t)对所有a2 S定义的位置的(多)集合,用buc表示u的非空位置的集合fa j u(a)> 0 g。t需要启用的最小资源量是pre(t)ctx(t):pre(t)中的令牌被获取,而ctx(t)中的令牌仅被读取,并且其他转换可以并发地访问它们和t.对于t 2 T,其中pre(t)= u,post(t)= v,ctx(t)= w,我们写t:wv.对于X是转换的多集,并且u是标记,我们说X在u处被使能,如果bLt2Xctx(t)cLt2TX(t)pr e(t)u。 我们说,u通过X与标记v相对应,记为u[Xiv,ifX在u处被使能且v=uLt2TX(t)pos t(t)Lt2TX(t)pre(t),其中表示多集差。注意,如果你有足够的tokens也满足X的Lt2TX(t)pr(t),然后加上Lt2TX(t)pos t(t)。步骤关系可以等效地由图1中的推理规则定义,这些推理规则还携带关u w;布鲁尼和蒙塔纳里6于步骤中使用的上下文的信息的意义=)Rv是一个步骤可以从u到v,读作w(注意bucwbvc)。空闲令牌有助于上下文。过渡产生基本步骤。当构建较大的步骤时,子步骤的最大公共上下文是共享的。布鲁尼和蒙塔纳里7;;;;uXWv yW(u)(wx)(五)wy)W(u)wy)(五)wy 0)W(u0)(v0)=)RD ;W1;D1;(二)WD2;;D;W(u x)D(v y)(u1u2(w x)D(v1v2wy 0)uVDv图2. V D的推理规则。1.2零安全网根据普通的术语,在一个“0-安全”的网络中,所有的地方都不能在所有可到达的标记中包含任何令牌。我们使用零安全网络这个术语-注意用然而,不需要新的交互机制,并且参与步骤的转换的协调由网络的通常令牌推送规则处理零安全的地方不能包含任何可观察状态的任何令牌。零安全网(ZS net)是一个元组B =(S; T; F; uin; Z),其中NB=(S; T;F; uin)是B的底层PT网,Z S是零位置的集合。 LB=SrZ中的位置称为稳定位置。 稳定标记是稳定位置的多重集合,并且初始标记uin必须是稳定的。稳定标记描述可观察的状态,而在给定标记中存在一个或多个零标记使其不可观察。我们把分别属于稳定位置和零位置的记号称为稳定记号和 由于S是自由交换么半群,S 'LZ,我们可以写t:(u; x)!(v; y),其中pre(t)= ux,post(t)= v y,其中u和v是稳定多集,x; y 2 Z.零安全网已在[2,3]中引入,然后在[6]中通过允许零位置和读弧的组合使用而扩展一个ZSr-net是一个元组D =(S; T;F;R;Z; uin),使得RD=(S;T;F;R;uin)是一个r-net,并且(S; T;F;Z; uin)是一个ZSnet。虽然在[6]中可以用零位置作为上下文,但为了简单起见,我们将假设ctx(t)SrZ对所有的t2T都成立.在定义ZSr-网的动力学时,我们可以遵循两个主要的选择。关键的一点是是否禁止在同一个事务中读取(可能多次)并获取稳定令牌在下文中,我们考虑禁止这类消费的语义,如图2所示(其中u; v;w2L和x; y; y02Z)。第二条规则是至关重要的:它在零令牌上进行序列化,同时在稳定令牌上并行组合(共享两个子步骤的整个稳定上下文w在抽象层次上,由D建模的系统可以通过一个r-网AD等价地描述,使得SAD=SDrZD和()AD ) =(VD). 在满足这些条件的几个r-网中,我们可以选择最优的一个,其过渡W表示交易步骤uVDvtaken的证明,直到等式(permu.同时发生的事件),并且不能分解为更短的证明。当这两个条件得到验证时,行为的并发内核就被识别出来了,所有的步骤都可以由它生成。(抽象网可以根据[17]中注意到的集体或个体令牌哲学来定义:这两种方法产生相同的步骤关系,但不同的抽象网。布鲁尼和蒙塔纳里8P::=0j M:P j µ?P:P j P+ P j PjP M::= hai::= out(a)j rd(a)j in(a)j!in(a)µ::= rdp(a)j inp(a)图3. 琳达式过程微积分.1.3Linda的并发语义由于它们的可视化表示和并发的直接编码,网经常被用作并发和分布式语言(如Linda)的计算模型。Linda的通信原语是:(1)输出消息out(a);(2)读取消息(不消耗它)rd(a);以及(3)取出消息in(a),此后该消息在元组空间中不再可用两个附加谓词rdp(a)和inp(a)分别允许(4)检查消息的存在而不消耗它;以及(5)原子地测试和消耗消息(如果存在)。这两个谓词可以用作条件构造的布尔组件。在[10,9]中,首先引入了一个进程演算,它嵌入了所有上述原语,然后使用ri-net来为演算提供真正的并发语义。特别地,rd(a)操作是通过读弧(允许a的多个并发读取)建模的,而谓词也需要抑制弧(以确认消息的不存在,从而采取行动我们回想一下,ri-网是一个r-网(S;T;F;R;uin)加上一个关系IT S,它表达了负的使能条件:如果I(t; a),那么t在u处永远不被使能,u(a)>0。值得注意的是,out(a)操作的语义可以产生有两种不同的解释:有序的,其中消息的发射和呈现形成单个原子动作;或无序的,其中发射和呈现是两个自主动作。区别是至关重要的,因为在第二种情况下,死锁是可判定的(可以找到一个普通的PT网,它与原始编码的ri-net等价[10])。图3中回顾了该语言的语法In(a)表示受保护的复制,Hai表示元组空间中的消息由于篇幅有限,我们将[10]关于网络编码。粗略地说,Linda的网络建模是通过将不同的位置与消息hai和顺序过程P相关联,并将适当的转移与顺序过程的计算移动相关联来结果网络的标记是元组空间中活动进程和消息的多集合例如,对于任何形式为P = rdp(a)的过程?P1:P2,建模网络涉及两个转换,其具有作为预设的位置P,一个读取(分别为抑制剂)分别为hai和dec(P1)。dec(P2))作为后集,dec()是过程分解成其序列成分的多集的明显函数然后,根据有序语义,输出经由具有预设out(a):P和后设haide c(P)的转换来建模,而根据无序语义,对于每个消息a,考虑模型发出的消息还不可用于其他进程的附加位置h a ii,并且因此,两个转换是考虑:一个从出(a):P到hhaii12月(P)和其他从hhaii到海。布鲁尼和蒙塔纳里9!=)C=)Cv v ww=)Cz1a1,J,`,,zzt1,z, zt2,z,J,`,,,za2Æa3,J,`,,zzt3,z,J,`,za4图4.这个网络的抽象行为是否正确?u2St:uw v 2 T;? .,,ubuc utI.,uwwv WX1.,u1w 1w1Cv1w1;X2.,,,,,,,u2w2w2Cv2w1=)的文件bX1X2c.,u1u2bw1w2c=)的文件体重1w2c=)C12b12c图5.的推理规则2带抑制弧的.,,,=)C.我们的第一个目标是将零安全方法扩展到具有抑制弧的网络。这并不完全简单,如下面的示例所示。让我们考虑图4中的网络。在抽象层,有两个明显独立的事务:一个从a1到a2(原子执行t1,然后是t2),另一个从a3到a4,但是当然在低层,这个活动很难被看作是独立的,因为z1中的令牌流在抽象层消失了为了解决这个模糊性,我们限制使用的抑制弧稳定的地方。定义2.1零安全ri-net(ZSri-net)是一个元组E =(S;T;F;R;I;uin;Z),其中DE =(S;T;F;R;uin;Z)是一个ZSr-net,而IT(SrZ)是抑制关系。E的基础ri-网是CE(S;T;F;R;I;uin)设t I = fa j I(t; a)g,并假设关系F、R、I是两两不相交的。普通ri-nets C 的操 作语 义在图 5 中回 忆, 其中 在第 三个 规 则 中 , 我 们 假 设(X1X2)\(u1u2w1w2v1v2) =?. 实际上,当并行组成两个步骤时,我们必须检查每个步骤是否涉及到-抑制其它步骤的进行的因子。 通用步骤X。,uwv表示可以从u读取w到达v,并且还可以在任何其他标记u0 u内应用该步骤,只要u0(a)=0对于所有a2X。ZS ri-nets的操作语义是图6所示的明显扩展(在第三个规则中,我们再次假设(X1X2)\(u1u2wv1v2) =?),因为我们从不在抑制位置上连接(它们必须是稳定的,因此第三条规则的行为就像它们的并行组合一样)。类似于[5],我们可以根据并发的两种主要哲学(集体或个体令牌)定义E的抽象ri-netAE,通过 char-v特征化最小并发步骤X.,,布鲁尼和蒙塔纳里10具有预设u、后设v、读数w和被X抑制的活动。布鲁尼和蒙塔纳里11、X.,,uxwv yWX.,(u0)(v0)=)CE ;W;E;WX.,(u; x)E(v;y)X.,,uVEvw wX1.,(u1w;x)E(v1w;y);X2.,(u2w;y)E(v2w;y0)WbX1X2c.,,(u1u2w;x)E(v1v2w;y0)图6.的推理规则.,,,VE .Q,J,,`,zzt1,zt2,zt3,......,rhai,J,`,,z,,hbio,J,,`,zhci,J,`,z,,J.,,`,,z0,,哦,,R,J,,`,zzt4,oozzz,zt5,zt6,图7. 设P=rd(a)in(b)ou t(c):0jrd(b)in(a)ou t(c):0jhaijhbi.3Linda的交易我们的第二个目标是在Linda中定义一个令人满意的事务处理。这个想法是为了区分低级别(即,零安全)和高级别(即,稳定)消息。因此,我们假设两个不相交的类型,H和L,以及给定的类型关系a:H,使得条件表达式的谓词μ只能测试可观察消息a:H的存在。此外,我们引入了原子前缀PARP,其中PARP只能在P可以提交时执行。然后 ZSri-nets提供了合适的语义框架来解释结果语言,我们称之为TraLinda事实上,我们可以直接采用[10]中的翻译来为每个代理P获得有限ri-netC(P),然后将与临时消息相关联的位置子集作为零安全位置集为了处理原子前缀,我们还必须为每个顺序代理P引入一个零安全位置PZ,它在与(原子)前缀相关联的转换的后集中替换P。由于抑制弧只是因为条件语句而被插入,并且布尔谓词只能涉及可观察的消息,因此我们得到的网E(P)是ZSri-net,因此它配备了系统的抽象视图,即ri-netAE(P)。例如,在P = out(a):0jin(a): 0中,如果a:H,则两个顺序子进程Q =out(a):0和R = in(a):0可以异步通信,但是如果a:L,则必须同步通信。事实上,在E(P)中,我们有初始标记QR,有一个过渡t1:Q! hai0用于第一过程,以及过渡t2:Rhai!0,其中hai是零安全的当且仅当a:L。因此,如果a:L,则t1的触发打开只有t2的触发可以提交的事务,导致从QR到20的抽象转换(两个非活动进程/令牌),其中两个操作被原子地执行(即,它们在抽象级别同步布鲁尼和蒙塔纳里12作为另一个例子,设a; b; c:H,并取该过程P = rd(a)in(b)out(c):0jrd(b)in(a)out(c):0jhaijhbi:然后,两个原子线程中的仅一个可以被执行,因为相同的稳定令牌(例如,HAI或HBI)不能在同一事务期间首先被读取然后被消耗因此,如果Q = rd(a)in(b)out(c):0首先被执行,则消息hbi被获取并且不能被R = rd(b)in(a)out(c):0读取,而如果R执行,则hai被消耗(参见图7)。事实上,在抽象级别,我们有一个从Qhbi到hci 0和与Q线程相关联的e xthai的转换,以及一个从Rhai到hci0和与R线程相对应的e xthbi的转换。 如果考虑P 0= rd(a) :in(b) :out(c) :0 jrd(b):in(a):out(c):0 jhaijhbi,则情况非常不同,其中首先可以并发地执行两个读取操作,然后可以检索两个消息hai和hbi,并且最后可以发出消息out(c)的两个副本。结论我们已经展示了如何在零安全方法中处理抑制弧,并应用于Linda语言的原始扩展TraLinda中的事务建模。这里给出的结果是更广泛研究的一部分,其目的是将零安全方法与分布式语言(如Join演算或JavaSpaces中间件[18])集成,以获得一个通用的环境,其中分布式事务可以忠实地设计,编程和执行。特别是,尽管最近的结果表明,受Linda类协调语言启发的几种技术也足以处理JavaS空间,但由于篇幅限制,我们将与[14,13]中考虑的协调原语的一致性以及零安全方法与Linda的有序/无序语义之间的精确关系留给本文的完整版本。确认我们感谢匿名推荐人的友好评论和建议。引用[1] A. Alzheiti和N. 布西 移动Petri网 Tech. Rep. UBLCS 96-10,计算机科学系,博洛尼亚大学,1996年。ftp://ftp.cs.unibo.it/pub/techreports/96-10.ps.gz[2] R. 布鲁尼和U.蒙塔纳里零安全网络,或转换同步变得简单。Proc. 97年的EXPRESS,Elect。笔记在Th。Comput. Sci. 7.第一次会议。Elsevier,1997年。http://www.elsevier.nl/locate/entcs/volume7.html[3] R.布鲁尼和U.蒙塔纳里Zero-safe nets:个人代币方法。Proc. WADT '97,Lect.Notes in Comput. Sci. 第1376页122-140. Springer,1998年。网址://www.di.unipi.it/tuberbruni/publications/wadt97.ps.gz布鲁尼和蒙塔纳里13[4] R.布鲁尼和U.蒙塔纳里在零安全网络中执行交易。 Proc. ICATPN2000,Lect.计算中的注释Sci. 1825年,第1825页。83比102 斯普林格,2000年。网址://link.springer.de/link/service/series/0558/tocs/t1825.htm[5] R.布鲁尼和U.蒙塔纳里Zero-safe nets:Comparing the collective and individualtokenapproaches. 告 知 。 的 Comput 。 , 156 : 46http : //www.idealibrary.com/links/toc/inco/156/1/0[6] R. 布鲁尼和U.蒙塔纳里交易和零安全网。 《Advances in Petri Nets:UnifyingPetriNets 》 Springer , 2001 年 。 http://www.di.unipi.it/http ://www.example.com[7] R.布鲁尼和V.萨松。上下文网的代数模型。Proc. ICALP 2000,Lect. Notes inComput. Sci. 1853 年 , 第 1853 页 。 175-186. 斯 普 林 格 , 2000 年 。http://www.di的网站。unipi.it/cubruni/publications/icalp2000.ps.gz[8] M. Buscemi和V.萨松高级Petri网作为Join演算中的类型理论Proc. FoSSaCS '01,Lect. Notes in Comput. Sci. 2030年,第100页。104-120. Springer,2001年。http://link.springer.de/link/service/series/0558/tocs/t2030.htm[9] N. 布西带抑制弧和读弧的Petri网:语义、分析及其在过程演算中的应用。锡耶纳大学数学系博士论文,1998年。http://www.cs.unibo.it/tubusi/www/thesis.ps.gz[10] N.布西河Gorrieri和G.萨瓦塔罗Linda进程间通信的真正并发视图。Tech. Rep.UBLCS 97-02 , 计 算 机 科 学 系 , 博 洛 尼 亚 大 学 , 1996 年 。ftp://ftp.cs.unibo.it/pub/techreports/97-02.ps.gz[11] N.布西河Gorrieri和G.萨瓦塔罗比较Linda类语言的三种语义。理论计算。Sci. ,240(1):49[12] N.布西河Gorrieri和G. 萨瓦塔罗关 于琳达协调原语的表 现力。告知。的Comput。,156(1-2):90-121,2000. 网址://www.idealibrary.com/links/toc/inco/156/1/0[13] N. Busi和G.萨瓦塔罗协调的过程演算:从Linda到JavaSpaces。AMAST '00,计算 机 讲 义 。 Sci. 1816 年 , 第 1816 页 。 198-212. 斯 普 林 格 , 2000 年 。http://link.springer.de/link/service/series/0558/tocs/t1816.htm[14] N. 布 西 河 Gorrieri 和 G. 萨 瓦 塔 罗 JavaSpaces 中 事 务 的 可 序 列 化 性 。 Proc.ConCoord,Elect.笔记在Th。Comput. Sci. 54. Elsevier,2001年。[15] C. 我们的,G。 Gonthie r,J. - J. 来吧,来吧。Maranget和D. 是的。移动代理的 演 算 Proc. 1996年CONCUR,Lect. 计算中的注释Sci. 1119,pp. 406-421Springer,1996年。[16] D.格勒恩特琳达的生成通信。ACM Transactions on Programming Languages andSystems,7(1):80[17] R.J. van Glabbeek和G.D.普洛特金配置结构。Proc. LICS199-209. IEEE Computer布鲁尼和蒙塔纳里14Society Press,1995.[18] Sun Microsystems,Inc. JavaSpacesTM规范,v.1.1,2000。http://www.sun的网站。com/jini/specs/js1_1.pdf
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功