×

将集合论问题规范机械地转换为有效的RAM代码-案例研究。 (英语) Zbl 0641.68025号

概要:本文阐述了一种全自动自顶向下的程序开发方法,其中形式化的问题规范被机械地转换为高效的RAM代码。该代码保证完全正确,并自动确定其最坏情况渐近运行时间的上限。用户只需向系统提供正式的问题规范,并在程序开发过程的其余阶段免除所有责任。这些结果部分是通过极大地限制系统处理一类确定的、集合论的、可处理的问题而获得的。
使用的最基本的转换技术是不动点迭代、有限差分和数据结构选择。这些技术的基本形式已经在RAPTS转换编程系统中得到了有效的实现和使用。本文通过考虑关系数据库的属性闭包问题,并系统地推导出一个实现线性时间解的程序,解释了我们方法的概念基础。
[另见作者在Lect.Notes Compute.Sci.204,554-567(1985;Zbl 0578.68080号)].

理学硕士:

60年第68季度 规范和验证(程序逻辑、模型检查等)
68T20型 人工智能背景下的问题解决(启发式、搜索策略等)
68瓦30 符号计算和代数计算
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Aho,A。;Ullman,J.,《数据检索语言的普遍性》(Proc.Sixth ACM Syrup.on Principles of Programming languages,1979),110-1201979年1月
[2] Aho,A。;霍普克罗夫特,J。;Ullman,J.(计算机算法的设计与分析(1974),Addison-Wesley:Addison-Whesley纽约)·Zbl 0326.68005号
[3] Aho,A。;Sethi,R。;Ullman,J.(编辑者(1986),Addison-Wesley:Addison-Whesley New York)
[4] 艾伦,F.E。;库克,J。;Kennedy,K.,《降低操作员强度》(Muchnick,S.;Jones,N.,《程序流分析》(1981),普伦蒂斯·霍尔:普伦蒂斯霍尔纽约),79-101
[5] Armstrong,W.,数据库关系的依赖结构,(1974年国际知识产权联合会大会(1974),阿姆斯特丹:阿姆斯特丹北荷兰),580-583·Zbl 0296.68038号
[6] 巴斯托,D.(基于知识的项目建设(1979),爱思唯尔北荷兰:爱思唯尔北荷兰阿姆斯特丹)
[7] 贝茨,J。;Constable,R.,作为程序的证明,ACM TOPLAS 7,(2),113-136(1985)·Zbl 0555.68003号
[8] 鲍尔,F.L。;Wossner,H.(算法语言和程序开发(1982),Springer-Verlag:Springer-Verlag Berlin)·Zbl 0486.68007号
[9] 比里,C。;Bernstein,P.,与规范形式关系方案设计相关的计算问题,ACM TODS 4,(1),30-59(1979)
[10] Bibel,W.,语法定向,语义支持的程序合成,Artif。赫尔特尔。14, (3), 243-262 (1980)
[11] (Biermann,A.;Guiho,G.;Kodratoff,Y.,《自动程序构造技术》(1984),麦克米伦出版社:麦克米伦纽约)·Zbl 0597.68011号
[12] Bird,R.,《转型规划中的促进和积累策略》,ACM TOPLAS 6,(4),487-504(1984)·Zbl 0542.68006号
[13] Boyle,J.,《程序设计语言语法的转换组件》(技术报告ANL-7640(1970)),阿贡国家实验室,1970年7月
[14] (Buchberger,B.;Collins,G.;Loos,R.;Albrecht,R.,《计算机代数符号和代数计算》(1983),Springer-Verlag:Springer-Verlag Berlin)
[15] R.伯斯托尔。;Darlington,J.,《开发递归程序的转换系统》,J.Assoc.Comp。机器。24, (1), 44-67 (1977) ·Zbl 0343.68014号
[16] 蔡,J。;Paige,R.(通过定点计算推导程序(1987)),提交
[17] Cheatham,T。;霍洛韦,G。;Townley,J.,(通过转换进行程序优化。通过转换进行的程序优化,第五届国际软件工程会议,1981年3月(1981)),430-437
[18] Codd,E.,大型共享数据库的数据关系模型,CACM 13,(6),377-387(1970)·Zbl 0207.18003号
[19] Cohen,J.,计算机辅助程序微观分析,CACM 25,(10),724-733(1982)·Zbl 0491.68036号
[20] Dershowitz,N.,(重写系统计算。重写系统计算,美国国家科学基金会重写规则实验室研讨会,1983年9月(1983年)),269-298
[21] 杜瓦,R。;格兰德,A。;刘,S.C。;施瓦茨,J.T。;Schonberg,E.,以SETL表示子语言为例的精细化编程,TOPLAS I,(1),27-49(1979)·Zbl 0463.68014号
[22] Dijkstra,E.W.(编程学科(1976),普伦蒂斯·霍尔:普伦蒂斯霍尔纽约)·Zbl 0368.68005号
[23] Driscoll,J。;北卡罗来纳州萨纳克。;Sleator,D。;Tarjan,R.,(使数据结构持久化。使数据结构永久化,第十八届美国计算机学会计算理论研讨会(1986)),109-121,美国计算机学会,1986年5月
[24] Earley,J.,《自动编程中的高级操作》,SIGPLAN通知,9,4,34-42(1974),Proc。交响乐团。非常高级语言。,1974年4月
[25] Earley,J.,《高级迭代器和自动设计数据结构表示的方法》,J.Comp。兰格,1,(4),321-342(1976)·Zbl 0362.68011号
[26] Floyd,R.(《赋予程序意义》,XIX(1967),美国数学学会:美国数学学会普罗维登斯,R.I.),19-32,Proc。应用数学专题讨论会·Zbl 0189.50204号
[27] Fong,A.,(消除非常高级语言中的公共子表达式。消除非常高级的语言中的公用子表达式,第四届美国计算机学会程序设计语言原理研讨会,1977年1月(1977年)),48-57
[28] Fong,A.,(非常高级语言中的归纳可计算结构。非常高级语言的归纳可运算结构,第六届美国计算机学会程序设计语言原理交响曲(1979)),1979年1月21日至28日
[29] 方,A。;Ullman,J.,(非常高级语言中的归纳变量。非常高级语言的归纳变量,第三届美国计算机学会程序设计语言原理研讨会(1976)),104-1121976年1月
[30] 弗洛伊登伯格,S。;施瓦茨,J.T。;Sharir,M.,SETL优化器经验,ACM TOPLAS 5,(1),26-45(1983)·Zbl 0498.68007号
[31] Gerhart,S.,(《保持正确性的程序转换》,《程序设计语言原理第二届ACM汇编》(1975年),54-66·Zbl 0361.68013号
[32] Goad,C.,(形式证明操作的计算应用(1980)),斯坦福大学博士论文,1980年8月
[33] Goldberg,A。;Paige,R.,(流处理.流处理,ACM LISP与函数编程交响曲(1984)),53-621984年8月
[34] Goldstine,H.(《从Pascal到Von Neumann的计算机》(1972),普林斯顿大学出版社:普林斯顿大学出版,新泽西州普林斯顿)·Zbl 0245.01017号
[35] Goldstine,H.(《数值分析史》(1977),Springer-Verlag:Springer-Verlag纽约)·Zbl 0402.01005号
[36] Goto,S.,(自然演绎证明的程序合成。自然演绎证明中的程序合成,第六届人工智能联合会议(1979),339-3411979年8月)
[37] Gurevich,Y.,(Richter,M.;et al.,《为计算复杂性量身定制的逻辑》。《为计算复杂性量身定制的逻辑》,《逻辑讨论的计算与证明理论》(1983),175-216,斯普林格数学讲义1104·兹比尔062203030
[38] Gurevich,Y.,《逻辑与计算机科学的挑战》(Boerger,E.,《理论计算机科学的当前趋势》(1987),计算机科学出版社)
[39] 古雷维奇,Y。;Shelah,S.,(一阶逻辑的定点扩展。一阶逻辑定点扩展,第26届IEE综述。计算机科学基础(1985),IEEE计算机社会出版社),346-353
[40] Guttag,J。;Horowitz,E.,抽象数据类型和软件验证,CACM,21,(12),1048-1064(1978)·Zbl 0387.68012号
[41] Hoare,C.A.R.,《计算机编程的公理基础》,CACM 12,(10),576-581(1969)·Zbl 0179.23105号
[42] 霍夫曼,C。;O'Donnell,M.,方程编程,ACM TOPLAS 4,(1),83-112(1982)·Zbl 0481.68008号
[43] Huet,G.,合流约简:术语重写系统的抽象属性和应用,或,Assoc.Comp。机器。27, (4), 797-821 (1980) ·Zbl 0458.68007号
[44] Immerman,N.,(可在多项式时间内计算的关系查询。可在多项式空间内计算的关联查询,第14届ACM计算机理论综述(1982)),147-1521982年5月
[45] Kant,E.(程序综合效率(1981),UMI研究出版社)
[46] Kennedy,K.,《编译器优化技术综述》,(Mucknick,S.;Jones,N.,《程序流分析》(1981),普伦蒂斯·霍尔出版社:纽约普伦蒂斯霍尔出版社),5-54·Zbl 0468.68002号
[47] Knuth,D.(计算机编程艺术,3(1968-I972),Addison-Wesley:Addison-Whesley New York)·Zbl 0191.17903号
[48] Knuth,D。;Bendix,P.,(普适代数中的简单单词问题(1970),佩加蒙出版社:牛津佩加蒙出版公司),263-297·Zbl 0188.04902号
[49] Kowalski,R.,(谓词逻辑作为编程语言。谓词逻辑用作编程语言,Proc,1974 IFIP Congress(1974)),569-574,阿姆斯特丹:北荷兰·Zbl 0297.68006号
[50] Lescane,P.,(REVE术语重写系统生成器的计算机实验。REVE词汇重写系统生成器计算机实验,第十届ACM汇编程序设计语言原理(1983)),99-1081983年1月
[51] Loveman,D.,《源到源转换的程序改进》,J.Assoc.Comp。机器。24, (1), 121-145 (1977) ·Zbl 0359.68016号
[52] Low,J.,(自动编码:数据结构的选择(1974),博士论文:斯坦福大学博士论文),1974年8月
[53] Manna,Z。;Waldinger,R.,《程序综合的演绎方法》,ACM TOPLAS 2,(1),90-121(1980)·Zbl 0468.68009号
[54] 麻省理工学院(MACSYMA参考手册(1977)),马萨诸塞州剑桥
[55] Mehlhorn,K.,《排序和搜索》(数据结构和算法,1(1984),Springer-Verlag:Springer-Verlag Berlin)·Zbl 0408.68057号
[56] Naqvi,S。;Henschen,L.,(将最小不动点查询合成为非递归迭代程序。将最小不动点查询合成成非递归迭代编程,第八届国际人工智能联合会议(1983)),1983年8月25日至28日
[57] Paige,R.,(形式分化(1981),UMI研究出版社:密歇根州安阿伯市UMI研究出版),博士论文修订,纽约大学,1979年6月
[58] Paige,R.,算法和系统的转换编程应用,Proc。第十届ACM糖浆。《程序设计语言原理》,1983年1月,第73-87页(1983)
[59] Paige,R.,《超级编译器-摘录摘要》(Pepper,P.,《程序转换和编程环境》(1984),Springer-Verlag:Springer-Verlag Berlin),331-340·Zbl 0547.68028号
[60] Paige,R.,《有限差分在数据库完整性控制和查询/事务优化中的应用》,(Gallaire,H.;Minker,J.;Nicolas,J.-M.,《数据库理论进展》,2(1984),Plenum出版社:Plenum Press New York),171-210
[61] Paige,R.,用不变量编程,IEEE软件3,(1),56-69(1986)
[62] 佩奇,R。;Henglein,F.,(Caviness,B.,集理论问题规范到有效RAM代码的机械翻译——案例研究,2(1985)),554-567,Springer计算机科学讲义204·Zbl 0578.68080号
[63] 佩奇,R。;Koenig,S.,可计算表达式的有限差分,ACM TOPLAS 4,(3),402-454(1982)·Zbl 0484.68009号
[64] 佩奇,R。;Schonberg,E.,(RAM上设定机器的实时模拟(1987)),准备中
[65] 佩奇,R。;Tarjan,R。;Bonic,R.,单函数最粗划分问题的线性时间解,TCS 40,(1),67-84(1985)·Zbl 0574.68060号
[66] Ramshaw,L.,算法分析形式化,(技术报告SL-79-5(1979),施乐帕洛阿尔托研究中心)
[67] Reif,J。;Scherlis,W.,《导出有效的图形算法》,(技术报告CMU-CS-82-155(1982),卡内基梅隆大学,1982年12月)
[68] Robinson,J.A.,《基于分辨率原理的面向机器的逻辑》,3“。关联公司。机器。,12,(1), 23-41 (1965) ·Zbl 0139.12303号
[69] Rovner,P.,关联数据结构的自动表示选择,(技术报告TR10(1977),计算机科学系:罗切斯特大学计算机科学系。哈佛大学博士论文)
[70] Scherlis,W.,(《通过内部专业化改进程序》,《第八届ACM汇编程序设计语言原理》(1981年),41-49
[71] 谢利斯,W。;Scott,D.(软件开发理论与实践联合会议(TAPSOFT))。程序。软件开发理论与实践联合会议(TAPSOFT),基于语义的编程工具,i(1985),52-59,(摘要)
[72] Schonberg,E。;施瓦茨,J.T。;Sharir,M.,《SETL程序中选择数据表示的自动技术》,ACM TOPLAS 3,(2),126-143(1981)·Zbl 0452.68010号
[73] Schwartz,J.T.,《高级语言中的自动数据结构选择》,CACM 18,(12),722-728(1975)·Zbl 0316.68012号
[74] 施瓦茨,J。;杜瓦,R。;杜宾斯基,E。;Schonberg,E.(集编程:SETL导论(1986),施普林格出版社:施普林格出版社,纽约)·Zbl 0604.68001号
[75] Sharir,M.,《关于形式分化的一些观察》,ACM TOPLAS 4,(2),196-225(1982)·Zbl 0481.68005号
[76] Sintzoff,M.,《通过特定模型上的估值计算程序属性》,ACM SIGPLAN Notices 7,(1),203-207(1972)
[77] 斯坦迪什,T。;Kibler,D。;Neighbors,J.,《欧文程序转换目录》(技术报告(1976),信息与计算机科学系:加州大学欧文分校信息与计算机系),1976年1月
[78] Suppes,P.(公理集合理论(1972),多佛:纽约多佛)·Zbl 0269.02028号
[79] Tarjan,R.,摊销计算复杂性,SlAM J.Alg。光盘。方法。6, (2), 306-318 (1985) ·兹伯利0599.68046
[80] Tarski,A.,《格理论不动点定理及其应用》,太平洋数学杂志。5, 285-309 (1955) ·Zbl 0064.26004号
[81] Tenenbaum,A.(超高级语言的类型确定(1974)),纽约大学计算机科学系博士论文,1974年10月,发表于Courant Computer Science Report 3
[82] Ullman,J.(数据库系统原理(1980),计算机科学出版社)·Zbl 0416.68086号
[83] Vardi,M.,(关系查询语言的复杂性。关系查询语言复杂性,第14届美国计算机学会计算理论研讨会(1982)),137-1461982年5月
[84] Willard,D.(面向谓词的数据库搜索算法(1978),博士论文:哈佛大学博士论文)
[85] Willard,D.,抽象谓词检索理论,(技术报告(1983)),纽约州立大学奥尔巴尼分校,1983年8月
[86] Willard,D.,(使用范围查询理论对关系演算表达式进行有效处理。使用范围查询原理对关系演计算表达式进行高效处理,Proc.1984 ACM SIGMOD(1984)),164-1751984年6月
[87] Wirth,N.,《逐步细化程序开发》,CACM 14,(4),221-227(1971)·Zbl 0214.43005号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。