×

验证原子数据类型。 (英语) Zbl 0701.68076号

摘要:原子事务是一种广泛接受的技术,用于在容错分布式系统中组织计算。在大多数基于事务的语言和系统中,原子性是通过原子对象来实现的,原子对象是提供自己同步和恢复的类型化数据对象。因此,原子性是数据类型实现所需的关键正确性条件。本文提出了一种验证原子数据类型实现正确性的技术。此技术的重要方面是扩展了Hoare的抽象函数,以映射到一组抽象操作序列,而不仅仅是映射到单个抽象值。我们给出了用编程语言(Avalon/C++)实现的原子队列的一个证明示例。

MSC公司:

60年第68季度 规范和验证(程序逻辑、模型检查等)
68问题65 抽象数据类型;代数规范
68米15 网络和计算机系统的可靠性、测试和容错
68M10个 计算机系统中的网络设计与通信

软件:

落叶松
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] C.H.Papadimitriou,并发数据库更新的可序列化性,《ACM杂志》26(4):631-653(1979年10月)·Zbl 0419.68036号 ·doi:10.1145/322154.322158
[2] B.H.Liskov和R.Scheifler,《守护者和行动:健壮分布式程序的语言支持》,《ACM编程语言和系统事务》5(3):381-404(1983年7月)·Zbl 0512.68027号 ·doi:10.1145/2166.357215
[3] M.P.Herlihy和J.M.Wing,《Avalon:可靠分布式系统的语言支持》,第17届容错计算国际研讨会,第89-94页(1987年7月)。[也可作为CMU-CS-TR-86-167提供。]
[4] C.T.Wilkes和R.J.LeBlanc,《风神的设计原理:动作/目标系统的系统编程语言》,技术报告GIT-ICS-86/12,乔治亚理工学院信息与计算机科学学院(1986年12月)。
[5] W.E.Weihl和B.H.Liskov,弹性原子数据类型的实现,ACM编程语言和系统事务7(2):244-270(1985年4月)。 ·doi:10.145/3318.3319
[6] K.R.Apt、N.Francez和W.P.de Roever,通信顺序过程的证明系统,美国计算机学会程序设计语言和系统汇刊2(3):359-385(1980年7月)·兹伯利0468.68023 ·doi:10.1145/357103.357110
[7] M.P.Herlihy和J.M.Wing,并发对象公理,第14届ACM编程语言原理研讨会,第13-26页(1987年1月)。
[8] L.Lamport,《指定并发程序模块》,《编程语言和系统的ACM事务》5(2):190-222(1983年4月)·Zbl 0516.68010号 ·数字对象标识代码:10.1145/69624.357207
[9] S.Owicki和D.Gries,《验证并行程序的属性:公理方法》,ACM的通信19(5):279-285(1976年5月)·Zbl 0322.68010号 ·doi:10.1145/360051.360224
[10] J.E.B.Moss,《嵌套事务:可靠分布式计算方法》,MIT/LCS/TR-260技术报告,计算机科学实验室(1981年4月)。
[11] D.P.Reed,《在分散数据上实施原子行动》,《计算机系统上的ACM事务1(1):3-23》(1983年2月)。 ·doi:10.1145/357353.357355
[12] N.Lynch和M.Merritt,嵌套交易理论简介,《数据库理论国际会议论文集》,意大利罗马(1986年9月)。[由EATCS和IEEE赞助。]·Zbl 0671.68043号
[13] W.E.Weihl,原子数据类型的规范和实现,技术报告TR-314,麻省理工学院计算机科学实验室(1984年3月)。
[14] W.E.Weihl,局部原子性属性:抽象数据类型的模块化并发控制,编程语言和系统事务11(2):249-283(1989年4月)。 ·数字对象标识代码:10.1145/63264.63518
[15] B.Nelson,远程程序调用,技术报告CMU-CS-81-119,卡内基梅隆大学(1981年5月)。
[16] J.Goree,带孤立检测的分布式事务系统的内部一致性,MIT/LCS/TR-286技术报告,计算机科学实验室(1983年1月)。
[17] J.V.Guttag、J.J.Horning和J.M.Wing,Larch系列规范语言,IEEE软件2(5):24-36(1985年9月)。 ·doi:10.1109/MS.1985.231756
[18] D.Bjorner和C.G.Jones(编辑),《计算机科学讲义》。第61卷:维也纳发展方法:元语言,Springer-Verlag,Berlin-Heidelberg-New York(1978)。
[19] J.M.Spivey,《介绍Z:规范语言及其形式语义》,剑桥大学出版社(1988年)·Zbl 0658.68005号
[20] N.Lynch和M.Tutle,分布式算法的层次正确性证明,MIT/LCS/TR-387技术报告,计算机科学实验室(1987)。
[21] L.Lamport、时钟和分布式系统中事件的排序。ACM通讯21(7):558-565(1978年7月)·Zbl 0378.68027号 ·doi:10.1145/359545.359563
[22] D.L.Detlefs、M.P.Herlihy和J.M.Wing,《Avalon/C++中同步和恢复属性的继承》,IEEE计算机:57-69(1988年12月)。
[23] B.Stroustrup,C++编程语言,Addison-Wesley(1986)·Zbl 0609.68011号
[24] Z.Manna和A.Pnueli,并发程序不变性和活性特性的充分证明原则,计算机程序设计科学4:257-289(1984)·Zbl 0542.68014号 ·doi:10.1016/0167-6423(84)90003-0
[25] P.A.Bernstein和N.Goodman,《分散计算机系统中同步和恢复技术的调查》,《ACM计算调查》13(2):185-222(1981年6月)。 ·数字对象标识代码:10.1145/356842.356846
[26] A.Z.Spector、J.J.Bloch、D.S.Daniels、R.P.Draves、D.Duchamp、J.L.Eppinger、S.G.Menees和D.S.Thompson,Camelot项目,数据库工程9(4)(1986年12月)。另见卡内基梅隆大学CMU-CS-86-166技术报告(1986年11月)。
[27] J.E.Richardson和M.J.Carey,《EXODUS中数据库系统实现的编程结构》,InACM SIGMOD 1987年年度会议,第208-219页(1987年5月)。
[28] G.Dixon和S.K.Shrivastava,利用类型继承设施在基于对象的系统中实现可恢复性,InProc。第六交响曲。《分布式软件和数据库系统的可靠性》(1987年3月)。
[29] K.P.Eswaran、J.N.Gray、R.A.Lorie和I.L.Traiger,数据库系统中一致性和谓词锁的概念,通信ACM 19(11):624-633(1976年11月)·Zbl 0341.68023号 ·doi:10.1145/360363.360369
[30] M.P.Herlihy,抽象数据类型的一种法定人数复制方法,ACM计算机系统事务4(1):32-53(1986年2月)。 ·电话:10.1145/6306.6308
[31] E.Best和B.Randell,异步系统中原子性的形式模型,《信息学报》16(1):93-124(1981)·Zbl 0511.68033号 ·doi:10.1007/BF00289593
[32] M.P.Herlihy、N.A.Lynch、M.Merritt和W.E.Weihl,《孤儿消除算法的正确性》,第17届容错计算机系统研讨会(1987年7月)。[MIT/LCS/TM-329的缩写版本。]·Zbl 0799.68046号
[33] N.Lynch,A.弹性嵌套事务的并发控制,MIT/LCS/TR-285技术报告,计算机科学实验室(1985)。
[34] M.Abadi和L.Lamport,精炼映射的存在,技术报告29,DEC系统研究中心(1988年8月)·Zbl 0728.68083号
[35] S.J.Garland和J.V.Guttag,《LP概述》,落叶松校准器,第三届改写技术和应用国际会议论文集,第137-151页。北卡罗来纳州教堂山(1989年4月)。[计算机科学课堂讲稿355。]
[36] J.M.Wing和C.Gong,《阿瓦隆程序性能的机器辅助证明》,技术报告CMU-CS-89-171(1989年8月)。
[37] A.Birrell,J.Guttag,J.Horning,R.Levin,《多处理器的同步原语:形式规范》。InProc.公司。第十一届ACM操作系统原理研讨会,ACM SIGOPS,第94-102页(1987)。
[38] R.A.Lerner,《指定并行程序》,论文提案(1989年)。
[39] C.A.R.Hoare,《数据表示正确性的证明》,信息学报1(1):271-281(1972)·Zbl 0244.68009号 ·doi:10.1007/BF00289507文件
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。