×

类Algol语言中的对象和类。 (英语) Zbl 1009.68021号

摘要:实践中使用的许多面向对象的语言都源自Algol。基于这种动机,我们通过类阿尔戈语言理论来研究这些语言背后的理论问题。结果表明,该理论的基本框架清晰而优雅地扩展到了对象和类的概念。此外,类和抽象数据类型之间出现了明确的对应关系,它们的理论与存在类型的理论相对应。等式和类Hoare推理方法以及关系参数为类Algol面向对象程序的推理提供了强大的形式化工具。

MSC公司:

68甲19 其他编程范式(面向对象、顺序、并发、自动等)
68甲15 编程语言理论
PDF格式BibTeX公司 XML格式引用
全文: 内政部 链接

参考文献:

[1] M.阿巴迪。;Cardelli,L.,《命令式对象演算》,理论实践对象系统,151-166(1996)
[2] M.阿巴迪。;Cardelli,L.,《对象理论》(1996),《Springer-Verlag:Springer-Verlag Berlin》·Zbl 0876.68014号
[3] M.阿巴迪。;Leino,R.M.,《面向对象程序的逻辑》,TAPSOFT’97和CAAP/FASE(1997),Springer-Verlag:Springer-Verlag Berlin,第682-696页
[4] Abelson,H。;苏斯曼,G.J。;Sussman,J.,《计算机程序的结构和解释》(1985年),麻省理工学院出版社:麻省理学院出版社剑桥·Zbl 1092.68550号
[5] Abramsky,S。;McCusker,G.,《线性、共享和状态》,(O'Hearn,P.W.;Tennent,R.D.,《类Algol-like Languages》(1997),Birkhä用户:Birkhá用户Boston)·Zbl 0909.68029号
[6] America,P.,《使用行为子类型设计面向对象的编程语言》(de Bakker,J.W.;de Roever,W.P.;Rozenberg,G.,《面向对象语言的基础》(1990),Springer-Verlag:Springer-Verlag Berlin),60-90
[7] 安德森·D·S。;佩德森,L.H。;Hüttel,H。;Kleist,J.,对象、类型和模态逻辑,FOOL 4(1997)
[8] 波诺,V。;Fisher,K.,《带对象扩展的命令式一阶微积分》,《面向对象编程欧洲会议》(1998)
[9] 博尔巴,P。;Goguen,J.,并发面向对象程序的精化,(Goldsack,S.;Kent,S.,《形式方法和对象技术》(1996),Springer-Verlag:Springer-Verlag-Brelin)
[10] 布鲁克斯,S。;梅因,M。;梅尔顿,A。;Mislove,M.,《编程语义的数学基础:第十一届年会》(1995),Elsevier:Elsevier Amsterdam
[11] Bruce,K.B.,PolyTOIL:一种类型安全的多态面向对象语言,ECOOP’95(1995),Springer-Verlag:Springer-Verlag Berlin,第27-51页
[12] Bruce,K.C。;Cardelli,L。;Pierce,B.C.,《比较对象编码,计算机软件的理论方面》(1997),施普林格出版社:施普林格出版社,柏林,第415-438页
[13] Cardelli,L.,《多重继承的语义》,(Kahn,G.;MacQueen,D.B.;Plotkin,G,《数据类型的语义》(1984),Springer-Verlag:Springer-Verlag Berlin),51-67
[14] Cardelli,L。;Wegner,P.,《关于理解类型、数据抽象和多态性》,计算。调查。,17, 471-522 (1986)
[15] Cook,W.R.,《继承的指称语义学》(1989),布朗大学计算机科学博士
[16] 库克·W·R。;希尔·W·L。;坎宁,P.S.,《继承不是子类型》,ACM Symp。程序原理。Lang.(1990),协会计算。马赫数:关联计算。马赫纽约,第125-135页
[17] O.-J.达尔。;Nygaard,K.,《一种基于算法的仿真语言》,通信ACM,9671-678(1966)·Zbl 0139.32903号
[18] DiBlasio,P。;Fisher,K.,并发对象的微积分,CONCUR’96(1996),Springer-Verlag:Springer-Verlag Berlin,第655-670页·Zbl 1514.68163号
[19] 艾弗里·J。;史密斯,S。;Trifonov,V。;Zwarico,A.,《带状态语言中类型OOP的解释》,J.Lisp Symbol。计算。,8, 357-397 (1995)
[20] Fisher,K。;Mitchell,J.C.,《关于类、对象和数据抽象之间的关系》,《面向对象的理论实践系统》,4,3-25(1995)
[21] Fisher,K,and,Mitchell,J.C.1996,类=对象+数据抽象,技术报告STAN-CS-TN-96-31,斯坦福大学。;Fisher,K,and,Mitchell,J.C.1996,类=对象+数据抽象,技术报告STAN-CS-TN-96-31,斯坦福大学·Zbl 0884.68012号
[22] 伽玛,E。;赫尔姆·R。;约翰逊,R。;Vlissides,J.,《设计模式》(1995),《艾迪森·韦斯利:艾迪森·韦斯利阅读》
[23] Ghica,D.R.,《类算法语言中动态变量的语义》(1997),女王大学:金斯顿女王大学
[24] Girard,J.-Y。;Lafont,Y。;Taylor,P.,《校对与类型》(1989),剑桥大学出版社:剑桥大学出版社
[25] 冈特,C.A。;Mitchell,J.C.,《面向对象编程的理论方面》(1994),麻省理工学院出版社:麻省理学院出版社剑桥·Zbl 0828.68036号
[26] He,J.F。;霍尔,C.A.R。;Sanders,J.W.,《数据精炼》(1986年),《施普林格-弗拉格:柏林施普林格出版社》,第187-196页·Zbl 0587.68018号
[27] Hoare,C.A.R.,《记录处理》(Genuys,F.,《编程语言:北约高级研究所》(1968年),学术出版社:伦敦学术出版社),291-347·Zbl 0274.68010号
[28] 霍尔,C.A.R.,《数据表示的正确性证明》,Acta Informat。,1, 271-281 (1972) ·Zbl 0244.68009号
[29] Hoare,C.A.R.,《通信顺序过程》(1985年),普伦蒂斯·霍尔国际:普伦蒂斯霍尔国际伦敦·Zbl 0637.68007号
[30] 霍夫曼,M。;Pierce,B.C.,《正子类型,信息与计算》,126,11-33(1996)·Zbl 0853.68125号
[31] Kamin,S.,《继承》(SMALLTALK-80):指称定义,ACM交响乐团。程序原理。朗(1988)
[32] 卡明,S.N。;美国雷迪,《面向对象语言的两种语义模型》(Gunter,C.A.;Mitchell,J.C.,《面向目标编程的理论方面》(1994),麻省理工学院出版社:麻省理学出版社剑桥)·Zbl 0837.68070号
[33] Kinoshita,Y。;O'Hearn,P.W。;Power,A.J。;竹山,M。;Tennent,R.D.,《二元逻辑关系公理化方法及其在数据精炼中的应用》(1997年),玛丽女王和韦斯特菲尔德:玛丽女王和伦敦韦斯特菲尔德·Zbl 0882.18006号
[34] 拉诺,K。;Haughton,H.,面向对象规范语言中的推理和精化,(Madsen,O.L.,ECOOP’97(1992),Springer-Verlag:Springer-Verlag Berlin),78-97
[35] Leavens,G.T.,面向对象程序的模块化规范和验证,IEEE软件,72-80(1991)
[36] Liskov,B。;Wing,J.M.,子类型的行为概念,ACM Trans。程序。语言系统。,16, 1811-1841 (1994)
[37] MacLane,S.,《工作数学家的类别》(1971年),施普林格-弗拉格:柏林施普林格
[38] 梅森,I.A。;Talcott,C.L.,《在存在副作用的情况下公理化操作等价性》,《第四届计算机科学逻辑年度研讨会论文集》(1989年),IEEE Comput。Soc.出版社:IEEE计算。Soc.Press Los Alamitos出版社,第284-293页
[39] 迈耶,A.R。;Sieber,K.,《走向局部变量的完全抽象语义》,第十五届ACM编程原理研讨会,Lang(1988),Assoc.Compute。马赫数:关联计算。马赫纽约,p.191-203
[40] Milner,R.,程序间模拟的代数定义,Proc。第二实习生。人工智能联合会议(1971),《英国计算机学会:英国计算机学会伦敦》,第481-489页
[41] Milner,R.,《沟通与并发》(1989),普伦蒂斯·霍尔:普伦蒂斯霍尔纽约·Zbl 0683.68008号
[42] Mitchell,J.C.,《程序设计语言基础》(1997),麻省理工学院出版社:麻省理学院出版社剑桥
[43] 米切尔,J.C。;Plotkin,G.D.,抽象类型有存在类型,ACM-Trans。程序。语言系统。,10470-502(1988年)
[44] 摩根,C。;Vickers,T.,《关于精化微积分》(1992),施普林格-弗拉格:柏林施普林格
[45] Odersky,M。;拉宾,D。;Hudak,P.,《名字调用、赋值和lambda演算》,第二十届ACM编程语言原理研讨会(1993年),计算机协会。马赫数:关联计算。马赫纽约
[46] O'Hearn,P.W.,干扰的句法控制模型,数学。结构。计算。科学。,3, 435-465 (1993) ·Zbl 0802.68076号
[47] O'Hearn,P.W。;Power,A.J。;竹山,M。;Tennent,R.D.,《重新审视干扰的句法控制》(Brookes,S.;Main,M.;Melton,A.;Mislove,M.,《编程语义的数学基础:第十一届年度会议》(1995),Elsevier:Elsevier Amsterdam)·Zbl 0956.68082号
[48] O'Hearn,P.W。;美国Reddy,《对象、干扰和Yoneda嵌入》(Brookes,S.;Main,M.;Melton,A.;Mislove,M.,《编程语义的数学基础:第十一届年会》(1995),Elsevier:Elsevier Amsterdam)·Zbl 0911.68121号
[49] O'Hearn,P.W。;Reynolds,J.C.,《从藻类到多态线性lambda-calculus》(1997),玛丽女王和韦斯特菲尔德:玛丽女王和伦敦韦斯特菲尔德·Zbl 1094.68535号
[50] O'Hearn,P.W。;Tennent,R.D.,《局部变量的语义》(Fourman,M.P.;Johnstone,P.T.;Pitts,A.M.,《类别在计算机科学中的应用》(1992),剑桥大学出版社:剑桥大学出版社),217-238·Zbl 0798.68093号
[51] O'Hearn,P.W。;Tennent,R.D.,《参数和局部变量》,J.Assoc.Compute。机器。,42, 658-709 (1995) ·兹伯利0885.68039
[52] O'Hearn,P.W。;Tennent,R.D.,《类算法语言(两卷)》(1997年),Birkhäuser:Birkháuser Boston
[53] Pierce,B,and,Turner,D.N.1993,通过部分抽象类型的静态类型友好函数,技术报告ECS-LFCS-93-256,爱丁堡大学。;Pierce,B,and,Turner,D.N.1993,通过部分抽象类型的静态类型友好函数,技术报告ECS-LFCS-93-256,爱丁堡大学。
[54] 皮尔斯,公元前。;Turner,D.N.,面向对象编程的简单类型论基础,J.Funct。编程,4207-247(1994)·Zbl 0817.68052号
[55] Plotkin,G。;Abadi,M.,《参数多态性的逻辑》,《类型化Lambda演算和应用——TLCA’93》(1993),《Springer-Verlag:Springer-Verlag Berlin》,第361-375页·兹比尔0788.68091
[56] 美国雷迪,《对象作为闭包:面向对象语言的抽象语义》,ACM LISP和函数编程研讨会(1988年),计算机协会。马赫数:关联计算。马赫纽约,第289-297页
[57] 美国雷迪,《被动性和独立性》,第九届IEEE计算机科学逻辑年会论文集(1994年),IEEE计算。Soc.出版社:IEEE计算。Soc.Press Los Alamitos出版社,第342-352页
[58] 美国Reddy,Global state认为没有必要:基于对象的语义介绍,J.Lisp Symbol。计算。,9, 7-76 (1996)
[59] Reynolds,J.C.,干扰的句法控制,ACM编程语言原理研讨会(1978年),计算机协会。马赫数:关联计算。马赫纽约,第39-46页
[60] Reynolds,J.C.,《Algol的本质》,(de Bakker,J.W.;van Vliet,J.C,《算法语言》(1981),北荷兰:北荷兰阿姆斯特丹),第345-372页
[61] Reynolds,J.C.,《理想化算法及其规范逻辑》(Neel,D.,《程序构建的工具和概念》(1982),剑桥大学出版社:剑桥大学出版社),121-161
[62] Reynolds,J.C.,《类型、抽象和参数多态性》(Mason,R.E.A.,《信息处理》,83年(1983年),北荷兰:北荷兰阿姆斯特丹),513-523
[63] Schoett,O.,数据表示的行为正确性,科学。计算。程序。,14, 43-57 (1990) ·Zbl 0699.68031号
[64] Stark,I.,本地名称的分类模型,Lisp符号。计算。,9, 77-107 (1996)
[65] Swarup,V.公司。;美国雷迪。;爱尔兰,E.,《应用语言分配》,(O'Hearn,P.W.;Tennent,R.D.,《类Algol语言》(1997年),Birkhä用户:Birkhá用户Boston),235-272
[66] Tennent,R.D.,规范逻辑的语义分析,信息与计算。,85, 135-162 (1990) ·Zbl 0699.68110号
[67] Tennent,R.D.,《指称语义学》(Abramsky,S.;Gabbay,D.M.;Maibaum,T.S.E.,《计算机科学逻辑手册》(1994),牛津大学出版社:牛津大学出版社伦敦),169-322·Zbl 0337.68010号
[68] Winskel,G.,事件结构,(Brauer,W.;Reisig,W.;Rozenberg,G.,Petri网:对其他并发模型的应用和关系(1987),Springer Verlag:Springer Verlag Berlin),325-392
[69] Winskel,G.,《事件结构导论》,(de Bakker,J.W.;de Roever,W.-P.;Rozenberg,G.《逻辑和并发模型中的线性时间、分支时间和部分顺序》(1989),Springer-Verlag:Springer-Verlag Berlin),364-397
[70] Dunphy,B.P.,Uniform families(2001),伊利诺伊大学Urbana-Champaign分校数学系
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。