没有合适的资源?快使用搜索试试~ 我知道了~
JavaSpaces:串行性与事务支持
URL:http://www.elsevier.nl/locate/entcs/volume54.html14Pages 的On the Serializability ofTransactions in 交易 中 的严肃 性JavaScript 空间纳迪亚·巴斯和Gianluigi Zavattaro ( 意大利 )博洛尼亚 大学 信息 科学 系 ,意大利 。EMAIL :busi,zavattar@cs.unibo.itabstractJavaSpaces是一个由共享数据空间模型创建的基础设施协调:通过引入、消费和测试常见存储库中存在/数据消失的过程相互作用。Besides these traditionaloperations , an event based coordination mechanism is considered which allowsfor the nown cation of the introduction 贝西 迪斯 认为 这 是 传统 的 操作 , 事件为 基 础 的 协 调 机 制 是 考 虑 到 这 一 点 of new instances of 历 in TheRepository 。JavaSpaces also supports transactions:多个协调操作可以被分组成一个捆绑的行为是一个单一原子操作。 在本文中,我们采用串行性作为标准来评估JavaSpaces传输语义的正确性:we prove that serializability is satis,only if werestrict to export,input,and read operations.我们证明了串行性是合理的,只有在我们限制输出、输入和阅读操作的情况下才有效。On the other hand , in thepresence of either test for absence or event noco cation , serializability is not satis .在 其他 人 身上 , 存在 性 测试 没有 已知 的 cation 。SEMANTICS 种子And we证据that it支持Serializability .1Introduction 介绍Coordination middlewares are emerging as suitable architectures for mak ingeasier the programming of distributed applications.(协调中等气候是新兴的,作为可持续的架构对于可能的—以避免分散应用程序的编程。JavaSpaces [3] and TSpaces [9]是由Sun微系统和IBM Respectively 制作的,是最突出的漏洞。Both proposals borrow the main features of both 的主要 特点数据 驱动And The控制 驾驶协调Model [ 8 ] :( a ) the generative communication operations of Linda ( Linda ) ,concording to which processes communicate through production ,consumption and test for pres - ence of data in a common data repository .besides the traditional blocking input and read operations also versations .当 信息 不 一致 时 , 请 输入 和 读取 各个 版本 的 数据提供 ;an event noco cation mechanism , allowing for a process to register itsinter - est in the future arrivals of some data ,and then receivecommunication of the each occurence of this , 一 个 事件 注意 机制 ,所有 进程 在 未来 的 某些 数据 中 记录 它 的 时间 , 以及 它们 的 接收 通信 事件事件 。C2001出版by爱思 唯 尔 科学 Elsevier Science B . v 。 Open 开放Access 的Under 下面ccBY-NC - ND 的许可 证 。2A further feature , relevant for distributed applications and supported byboth a aforementioned proposals,is a transaction mechanism.一个更好的特性,相关的应用和支持,是一个交易机制。A set of coordinate actioncan be grouped in a transaction , and executed in a such way that . ( 一 套协调 运作 可以 被 组织 在 一 个 事务 中 , 并且 在 一 种 不同 的 方式中 执行 。either all of them继任或none of them is演 过 的 。Consistency of the data repository in the JavaSpaces speci cations [6] isensured by requiring transactions to satisfy the so called(日语:请求交易完 成 后 完 成 如 此 命 名 ) Acid 原 子 性 、 一 致 性 、 隔 离 性 和 耐 久 性(Atomicity,Consistency,Isolation,and Durability)属性,数据库管理系统可交易性支持。In particular , in this paper we are concerned with( 在 粒子 , 在 这 篇 文章 中 , 我们 正在 与 您 协调 )Preservation 维护of The隔离财产 ,ALSO呼Serializability 系列 性:\ Ongoing transactionsshould not a ect each other 。 Any observer should be able to see othertransactions executing in some sequential 任何 对象 的 事务 执行 都 应该是 可 执行 的命令 ” 。TO蜂蜜The隔离Requirement 要求为交易 ,in The JavaScript 空间“ 协调 运作 的 种子 是 一 种 遵循 。A datum produced within a transactionwill be accessible from outside the transaction only when the transactioncommits.数据消耗或测试存在而没有交易可以运行在items emitted eitherwithin the transaction 或 in the common dataspace 。 A datum tested forpresence within a transaction cannot be consumed by processes outside thetransaction until the transaction commits.一个没有交易的情况下的数据被消耗掉。如果数据匹配只有在其他任何交易之前没有进行,则操作将等待 未 完 成 交 易 提 交 的 交 易 。 事 件 注 意 到 cations performed within atransaction will receive 注 意 到 cation of data productions occurring bothwithin the transaction and in the common dataspace.在交易和普通数据空间中,事件表现得很好。when a transaction commits , all the event 注意 到casions local to the transaction are dropped ; moreover ,the dataproduced , but not consumed , within that transaction become available inthe shared dataspace , and are known and to event registrations . 当 一 个事务 提交 , 所有 事件 发生 , 并 被 记录 为 已知 和 执行outside the 其他交易 |在本论文中,我们提供了一个对JavaSpaces中交易的序列性的正式调查 。 To this aim , we abstract away from the con—crete language , byembedding the coordation primitives in a process cal—culus equipped with acham—like(中文字幕)运作语义。 1 10 . The proof of of serializabilityrelies on a stronger notion ( 英语 : The proof of of serializability relies ona stronger notion ) 关 于 seriict alizability 在 databases [ 4 ] : A pair ofsuccessful operations , performed within two of er - ent transactions ( or3the rst outside any transaction and the second within a transaction ) 没有任何 交易 的 二 人 同行result 结果We start our investigation with a rst calculus , comprising the basic coordination primitives for data production ,consumption and test forpresence : in this case , the constraints on the semantics imposed byJavaSpaces speci - cations [ 6 ] 是 序列 化 的 确保 序列 性交易 |1 To simplify the treatment , we also forbid nested transactions and we provide onlysuc - cessful termination ( commit ) to simplify the treatment , we also forbid nestedtransactions , and we provide only suc - cessful termination ( 提交 ) 到 简单 处理 , 我们 必须 存储 所有 内容交易 |4因此,我们将通过实验来扩展计算器,我们将提供一个exampleshowing that constraints imposed by [6] on these operations , althoughnecessary , no longer suæce to ensure serializability. We proposed animproved , serializable semantics , obtained by adding further con -straints 我们 建议 改进 , serializable 语义 , obtained by adding further使用 - straintson历生产And on测试为阿巴斯operation .20 . Furthermore , the serializability of the calculus extended with annocite events cation mechanism , we show that it is necessary to modify thesemantics of nocate action operations performed within a transaction speci .( 我们 证明 这 件 事 是 必要 的 , 以 改变 已知 的 行动 表现 的 语义 。” [ 6 ] 。在本文中,我们将会从timeouts中抽象出来,并在JavaSpaces中使用,以避免在nite blocking of processes 中不受限制。However , ourexamples of non - serializable transactions remain valid also in presence of( However , our examples of non - serializable transactions remain validalso in the presence of ) ( However , our examples of non-serializabletransactions remain valid also 在 非 - 非 - 可 串行 交易 中 有效 )timeout时间 。To the best of our knowledge this is the rst work concerned with transc-tions in a shared dataspace language coordination test for 给 我们 最 好 的知识 这 是 一 件 非常 重要 的 工作 , 相关 的 事务 - tions in a shareddataspace language coordination test for已知 事件 和 事件 为 第 一 人称 。10 . A formal treatment of transaction series : izability in the slightly( 英文 ) erent setting of shared variables ( 英文 )read 的And Writeprimitives( 仅 )CAN BE发现in [ 2 ] 。2交易 和 基本 协调PrimitivesTheJavaScript 空 间 规 格 CASSIONS adopts The 后 续 lock 机 制 为 tran-action :\ when read , an entry is added to the set of entries read by the pro -vided transaction . 当 读 时 , 一 个 入口 已 被 添加 到 一 组 进入 者 阅读 。Such an entry May be read in any other transaction to which the entry isvisible,but cannot be taken.(入口可能会被阅读,但不会被带走)。本 政策 需 按 顺序TO ensure Serializability 系列 性of交易as Described 的byThe后续 的 样品 。饰演 The Congurationh A i j建立)X):read 的)A):take)B):承诺)X) j建立)y):take)A):Write)B):承诺)y)5数据 库 Containing a Datum A关于 Transaction X which reads datum 什么意思A和 消费 者B英文 片名 And a Transaction y which removes 什么 意思A以及 其他 产品B.如果 上面 的 政策 不 采取 任何 帐户 , 后续 行动non-serializablecomputation may be executed : the datum 非 串行 化 计算 可能 会 被 执行 : 数 据 A rst read inside the transaction 相 关 文 章 X , and thenconsumed by 交易y英文 片名 After the Datum B RST produced inside 是 什么 意 思 交 易 y And then 消 费 Inside 的 交 易 X; AT 这 个 Point 点 both thetransactions may commit . ( 交易 可能 会 提交 )这种计算是清楚的非序列化的,因为两个交易无法在另一个之后执行原子化的。10. The remainder of this section is devoted to prove that above policy这一部分的重演者是致力于证明那些Above政策is enough to ensureserializability of transactions in the case only the basic coordination ( 仅 限于 基本 的 协调 )operations read ,书写 ,And take are taken INTO帐户 。62.1The俱乐部 Calculus让姓名Be a set of data ranged over 的 相关 文章A,B: ,const Be a set ofprogram constants ranged over 的 相关 文章K,K 0, 且 , 且TXN《 A SetOf Transaction Names Ranged Over 》 官网X,y: 。我们 使用 资本 读者X,y【 片名 】 : To Range over}(TXN)( 即 。 The power-set 功能of TXN); we represent Sets Andmultisets 的同Theclassical bracket notation , sometimes omitting the brackets in the case ofsingletons,ie.经典的零售符号,某些时候忽略了英国的零售商。F X g isrepresented also with 是 什么 意思X.让conf Ranged 支持over by P,Q,:::BE The Set of The可能 的同 《 被 追 随 的 人 》 ( Gurations de ned by the following )grammar :where:P: = h A i X J C J XFPG JX:CFPG JP JP C: =0J :C J C J C J K::= Write)A)J read 的)A)J take)A)J建立)X)J承诺)X)它是一个并行的数据提交,程序和积极交易的例子。Available data aremodified by terms h可用数据建模A i X在where A de—notes the datum and(注意数据和日期)X the set of active transaction from which the datumhas been read ( it is usually omitted when empty ) ; this information isnecessary to implementing the transaction policy described above.数据库读取了(它通常被遗漏了);此信息是必要的,以实现交易政策描述的above。软件 名称 : Are represented by terms C联系 协调primitives 。积极 交易 两 种 可能 的 方式 denoted : on the one hand ,XF P gmodel a transaction with name 例如 :X and involved programs and datadescribed by the with guration 相关 文章P; on the other hand ,X:CF PG 代表关于 Transaction X containing A Program 方案C which 什么is感兴趣in performing A Co-Order 命令operation请求Interaction 相互 作用同The环境Outside 外部的 交易 。 The次 D KINKIN of notation 说明is必要TO许 敏The Interac-Action 行动between operations表演 过Inside的A交易And The用于 交易 的 外部 环境 : for instance , we use X:take)A):P F Q D 、 Denote A交易X,containing A Program 方案which 什么requires 的TO消费A Datum 数据A outside the 其他交易 |To denote parallel composition we adopt the usual j operator ; in the fol -lowing ( 我们 采用 了 通常 的 j 操作 符 ; 在 下面 )we use 使用Qi P iTO7Denote 的The平行Composition 作曲of The indexed termsP i.A program 可 以 是 一 个 完 成 的 程 序 0 ( which is usuallyomitted ) , a pre x form :P平行 组成 的 子 程序 , 或 一 个 程序constant K.A pre x can be one of the coordination primitives(英语:A pre x can beone of the coordination primitives ) Write ) A which in—troduces a newobject h(一个新对象h)A inside the data repository内部的read的)A在这里你可以玩Which tests for the presence of an instance of object h. A I,和take)A一个物体的实例h(which consumes an instance of object h)A i。我们 将 继续 两 个 更 快 的 操作 :建立)X开始 一 个 新 的 交易 , 并承诺)X( for successful transaction )终止 。8Constants are used to permit the de nition of programs with in nite be—haviours一直使用到允许使用软件。英文 名称 : That Each Constant K isequipped with exactly one de nition 非常 实用K = C通常 情况 下 , 我们 假设 also 只有 guarded recursion is used” [ 7 ] 。We use a structural congruence relation on with a gurations to denoteterms with a erent syntax but representing the same with guration ;this isdenoted by,it is de ned as the smallest congruence satisfying the followingaxioms.我们使用一个结构一致性关系上的关系,给denote terms与a erentsyntax,但却用guration表示相同的相同;this is denoted by,it is de nedas the smallest congruence satisfying the fying the following axioms.)i)PJ0P)II)P J Q Q J P)III)P J(Q J R))P J Q)j R)iv)CK如果K = C)v)X FC J P G X:C FP G2012 年 , 联合 国 开发 计划 署 (i){(III 2013 - 04 - 26 00 : 00 : 00 |分类 :iv( 1 ) . 假设 一 个 程序 运行 到 另 一 个 程序 运行 到 另 一 个位置 , 然后 将 其 全部 转移 到 另 一 个 位置 , 以便 协调 运行 请求 与外部 环境 的 相互 作用 。交易 |A transaction is started by a creation operation,it is possibly terminatedby a commitment operation,performed by all the involved processes.一个交易是由一个作品操作开始的,它可能由一个提交的操作结束,由所有参与的过程执行。当执行到一个交易,一个读操作可能会测试存在either一个数据生成下那交易或一个数据在外部启动—ronment。As discusedabove,when a datum is read within a transaction it cannot be consumed byprocesses outside that transaction.当一个数据在交易中被读取时,它无法被 消 耗 。 A take operation behaves in a similar way , and the selecteddatum is withdrawn from the some way , ( 一 个 运作 中 , 却 没有 经过选择 的 数据 )数据 - 和平 的A datum written within a transaction will notbe visible to processes outside the transaction until the transaction commits ;before commitment , this datum can be consued by a process inside thetransaction ; in that case , the object will never become externally . 在 这件 事 发生 之前 提交 , 这 条 数据 可以 被 一 个 过程 中 的 交易 所 消耗 , 而 不是 被 交易 所 消耗 。visible 的TheSEMANTICS 种子of The语言is Described 的by A Labelled转型System)conf,lA B他,! )何处lA B他=FX:;X:;X:J X2})TX nn);J XJ 1 G( Ranged over ): :: ) is the set of the possible labels ;with abuse of notation we use . ( 可能 的 实验 室 , 我们 使用 的 对象 )to denote also part of a label as in 在 标签 中X:.同X:我DenoteF XG:与And我们推荐; :. 标签The Label X :9denotes a standard computation step while(标准计算步骤,while)X:And X:《The Beginning and the End of a Transaction,Respectively》主[!标签转换关系The Labelled Transition Relation! 是 最 小 的ONE满意 度The Axioms And rules in桌1. 观察that规则( 1 ) 使用 功能Data 数据)Q( used to denote the set of data available in the withguration ) 。Q英文 名 : Inductively de ned as Follows :Data 数据( h A i X)= F A GData 数据)P JQ)= Data 数据)P)[Data 数据)Q)Data 数据)C)= Data 数据)X F P g )= Data 数据)X:C F P g )=;Axiom ( 1 ) Indicates 索 引 thathAi;CANBE 消 费 ByAPR 的 ocess 的PerformingA take)A)operation ; The Subscript Set of交易名称饰 ShouldBE empty10yiiJhyJhh(1)take)A):P JH A i;!P(2)read 的)A):P JH A i X! PJH Ai X(3)饰 Writ E)A):P!hAi;JPy:(4)C rEAT E)X):P!yFP[y=X]Gy新鲜 事(5)X:tak E)A):PFQGJHAiX!: X:PF Q GyF X G(6)X:rEAD)A):PFQGJHAiyX!: X:PF Q GJH A i y [ FX G(7)XFQCOmmit)X):PJQhAigjQhBiX!:PX!:P0QiPiJQJhAJijQhhBhiyhn nX(8)(9)PJQX!:P 0JQP!P0= ;XF PGX!:XF P 0G(10)(11)PX :!P0P J QX:!P 0 J QQPP!P 0P 0Q0Q!Q 0Data 数据)Q)=;桌1基础 计算 操作 性 术语 ( 英语 : Operational semantics for the basiccalculus )被 忽略 ) 。因为数据应该不会被previously读取而不会主动交易。Axiom(2)Modelsthe Read Operation ( in this case the subscript set of trans—action namesdoes not play any role)(在这种情况下,subscript set of trans—actionnames不执行任何角色)。Axiom ( 3 ) indicates that e ) 等 。The执行ofA饰 Writ E )A )o P erationisThePR 的oDuctionofTheDatum 数据hAi;( the Subscript Set of交易名称is initially Empty ) 。Each active transaction is identied by a unique name;we model this namingmechanism by associating to each transaction a fresh name.(例如,一个新的名称,因为它没有在代理中使用。 对于 简单 性 的 缘故 , 我们 不要 形式上 的 模型 任何 机制 来 确保 名称 的 全球 新鲜 度 , however , 标准 机制可以 被 剥削 因为 他们 总是 为 本地 新鲜 的 传播名字 |当一个新交易开始于一个项目建立)X):P我的新名字A Fresh Name y is11used to identify uniquely the new transaction;this name must be substi—tutedfor.(这个名字必须是substi的)X Inside的P. This is described in axiom(4)where(这里) P [y = X(重定向自The Substitution of) X同y Inside的 P.Axioms ( 5 ) 和 ( 6 ) 描述 了 将 采取 和 阅读 操作 , 在 交易 中 进行处理 , 在 外部 - 内部 环境 中 的 日期 ; 在 消费 情况 下 , 删除 的 数据 应该 不会 是前言 Previously read 的within 其他other active交易( this is增强byThe SIDE12条件yF X 2 . In the case of read , the name of the transaction should be( 在 读 的 情况 下 , 交易 的 名称 应该 是 )ADED TO The SubscriptSet of交易名称Associated 协会同The阅读 Datum 。3 . Axiom ( 7 )describes transaction commitment : the processes inside the交易必须Agree on The commitment operation ,The历生产 的 Inside The交易饰Become available 可用TO The外部环境 ,And the 名称of The committed交易饰 Should BE删除From The Subscript Set of交易名称Associated 协会TO The历in The外部的 环境 。规则 ( 8 ) is the usual local rule , while ( 9 ) is the application ofthe local rule to transactions : observe that the transaction name is added tothe label in . ( 如果 你 使用 的 是 本地 规则 进行 交易 : 你 必须 使用交易 名称 添加 到 标签 中 )order TO Denote 的The交易Under 下面which什么The Action 行动is Taken 。 规则(10) ( 2 ) That a transaction commitment performed by the ;gurationP可以在高以翔P J Q提供此Q does not contain data;没有数据this sidecondition is necessary in order to ensure that all the data in the environmentare taken into account by the axiom (7)which introduces the transactioncommitment action.这是必要的,以确保环境中的所有数据都已被删除。最 后 , 规则 ( 11 ) 是 结构 的 标准 规则congrence 。ITis Wor
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功