跳到主要内容
文章
开放式访问

干扰程序开发方法的初步步骤

发布时间:1983年10月1日出版历史
第一页图像

工具书类

  1. 1ABRIAL,J.-R.和SCHUMAN,S.A.非确定性系统规范。在并发计算的语义中,G.Kahn(Ed.)。Springer-Verlag,纽约,1979年,第34-50页。谷歌学者谷歌学者
  2. 2ACZEL,P.关于程序验证的说明。私人通信,1982年1月。谷歌学者谷歌学者
  3. APT,K.R.,FRANCEZ,N.和DE ROEVER,W.P.,一个用于通信顺序过程的证明系统。ACM事务处理。程序。语言系统。第2、3页(1980年7月),第359-385页。谷歌学者谷歌学者
  4. 4BURSTALL,R.M.程序证明是手动模拟,只需一点归纳。1974年IFIP大会会议记录。ELsevier North-Holland,纽约,1974年,第308-312页。谷歌学者谷歌学者
  5. 5DIJKSTRA,E.W.编程学科。Prentice-HaU,新泽西州恩格尔伍德克利夫斯,1976年。谷歌学者谷歌学者
  6. 6DIJKSTRA,E.W.,LAMPORT,L.,MARTIN,A.J.,SCHOLTEN,C.S.,AND STEFFENS,E.F.M.《空中垃圾收集:合作行动》。Commun公司。ACM 21,11(1978年11月),966-975。谷歌学者谷歌学者
  7. 7FLOYD,R.W.为程序指定含义。第19届应用数学研讨会论文集。美国数学学会,普罗维登斯,R.I.,1967年,第19-31页。谷歌学者谷歌学者
  8. 8FRANCEZ,N.,ANn PNUELI,A.循环程序的一种证明方法。《学报》第9期、第2期(1978年4月),第133-157页。谷歌学者谷歌学者
  9. 9HAILPERN,B.和OWICKI,S.使用时序逻辑验证网络协议。私人通信,1981年。谷歌学者谷歌学者
  10. 10HOARE,C.A.R.传达顺序过程。Commun公司。ACM21,8(1978年8月),666-677。谷歌学者谷歌学者
  11. 11HOARE,C.A.R.Monitors:操作系统结构概念。Commun公司。ACM 17,10(1974年10月),549-557。谷歌学者谷歌学者
  12. 12HOARE,C.A.R.数据表示正确性的证明。《学报》第1期、第4期(1972年11月),第271-281页。谷歌学者谷歌学者
  13. 13HOARE,C.A.R.程序证明:FIND。Commun公司。ACM 14,1(1971年1月),39-45。谷歌学者谷歌学者
  14. 14计算机编程的公理基础。Commun公司。ACM 12,10(1969年10月),576-580583。谷歌学者谷歌学者
  15. 15杰克逊,系统开发硕士。Prentice HaU International,新泽西州恩格尔伍德悬崖,1982年。谷歌学者谷歌学者
  16. 16包括干扰概念的计算机程序开发方法。技术代表PRG 25,编程研究小组,牛津大学,牛津,工程,1981年。谷歌学者谷歌学者
  17. 17走向更正式的规范。在软件工程师~Entwurf und Specifikation中,C.Floyd和H.Kopetz(编辑)。B.G.Teubner,西德斯图加特,1981年,第14-45页。谷歌学者谷歌学者
  18. 18软件开发:严格的方法。普伦蒂斯·霍尔国际公司,新泽西州恩格尔伍德克利夫斯,1980年。谷歌学者谷歌学者
  19. 19JONES,C.B.构建数据结构理论以帮助程序开发。Acta Inf.11,2(1979年1月),119-137。谷歌学者谷歌学者
  20. 20JONES,C.B.程序的正式开发。技术代表TR 12.117,IBM Hursley实验室,英国,1973年6月。谷歌学者谷歌学者
  21. 21JONES,C.B.正确算法的形式化开发:基于Earley识别器的示例。《美国医学会关于证明有关项目断言的会议记录》(新墨西哥州拉斯克鲁塞斯,1972年1月6日至7日)。合并发行:SIGPLAN通知(ACM)7、1(1972年1月)和SIGACT新闻14(1972年2月),150-169。谷歌学者谷歌学者
  22. 22KAHN,G.并行程序的初步理论。技术代表6,IRIA,Le Chesnay,France,1973年。谷歌学者谷歌学者
  23. 23LAMPORT,L.并发程序的“Hoare逻辑”。《学报》第14期,第1期(1980年6月),第21-37页。谷歌学者谷歌学者
  24. 24LAUR,P.E.编程语言语义的一致形式理论。技术代表TR25.121,IBM维也纳实验室,1971年11月。谷歌学者谷歌学者
  25. 25LEVIN,G.M.和GRIES,D.通信顺序过程的证明技术。Acta Inf.15,3(1981年6月),281-302。谷歌学者谷歌学者
  26. 26程序的性质和一阶谓词演算。J.ACM 16,2(1969年4月),244-255。谷歌学者谷歌学者
  27. 27MANNA,Z.和PNUELI,A.程序的模态逻辑。《第六届国际人工语言与程序设计会议论文集》(1979年7月,奥地利格拉茨),第385-409页。谷歌学者谷歌学者
  28. 28MILNER,R.通信系统微积分。Springer-Verlag,纽约,1980年。谷歌学者谷歌学者
  29. 29MrLNER,R.程序间模拟的代数定义。技术代表AIM-142,加利福尼亚州斯坦福大学计算机科学系,1971年2月。谷歌学者谷歌学者
  30. 30MORRIS,J.H.,JR。使用递归定义函数的正确性证明。《编程语言的形式语义》,R.Rustin(Ed.)。普伦蒂斯·霍尔,新泽西州恩格尔伍德克利夫斯,1972年。谷歌学者谷歌学者
  31. 31NAUR,P.通过一般快照证明算法。第6位(1966年),310-316。谷歌学者谷歌学者
  32. 32OWICRI,S.S.并行程序公理证明技术。技术代表TR 75-251,康奈尔大学计算机科学系,纽约州伊萨卡,1975年。谷歌学者谷歌学者
  33. 33OwxcKI,S.,AND GRXES,D.验证并行程序的属性:一种公理化方法。Commun公司。ACM 19、5(1976年5月),279-285。谷歌学者谷歌学者
  34. 34PLOTKIN,G.D.电力领域建设。SIAMJ公司。计算。第5、3页(1976年9月),第452-487页。谷歌学者谷歌学者
  35. 35并发程序的时间语义。在并发计算的语义中,G.Kahn(Ed.)。Springer-Verlag,纽约,1979年,第1-20页。谷歌学者谷歌学者
  36. 36SMYTH,M.B.电力领域。J.计算。系统。科学。16(1978),第23-36页。谷歌学者谷歌学者
  37. 37美国国防部。Ada编程语言参考手册(拟议标准文件)。1980年7月。谷歌学者谷歌学者
  38. 38VON LAMSWEERDE,A.和SINTZOFF,M.强正确并行程序的形式化推导。技术代表R338,比利时MBLE,1976年10月。谷歌学者谷歌学者
  39. 39WIRTH,N.通过逐步完善进行程序开发。Commun公司。ACM 14,4(1971年4月),第221-227页。谷歌学者谷歌学者
  40. 40ZHOU,C.C.和HOARE,C.A.R.通信顺序过程的部分正确性。《第二届分布式计算系统国际会议论文集》(1981年4月)。谷歌学者谷歌学者
  41. 41ZHOU,C.C.,A~D HOARE,C.A.R.通信过程和协议的部分正确性。技术代表PRG-20,编程研究小组,牛津大学,牛津,工程,1981年。谷歌学者谷歌学者

索引术语

  1. 干扰程序开发方法的初步步骤

                      建议

                      评论

                      兰达尔·莱维特

                      琼斯写了一份非常有趣的报告。它总结了他在牛津大学两年期间所做的工作,并说明了他严格的软件开发方法的扩展,包括并发进程的编程。这些程序称为干扰是因为并发任务可以通过共享变量或消息传递来干扰彼此的操作。对于这种复杂的软件,基于形式化规则的开发方法将减少设计错误,从而提高生产率。琼斯其他作品的读者会发现这个主题很熟悉。琼斯认为,严格的软件开发必须得到正式理论的支持,而不能陷入过多的细节。它包括自顶向下的分析和主动分解,确保在细化的每个阶段,设计满足规范。验证并发程序的其他方法的特点是对独立组件进行证明,然后是所有这些组件证明都不冲突的最终证明。因此,在分解完成之前,无法验证设计。对于琼斯来说,考虑到非常大项目的正式支持的开发战略,这些方法是不可接受的。相反,他提出了一种针对孤立程序开发的严格方法的扩展,并说明了如何将其应用于开发干扰程序。基本思想是在程序规范中包含精确的干扰语句。这些包括定义开发过程中使用的假设的“相对条件”,以及限制实现可能产生的干扰的“保证条件”。为了说明该技术,Jones对两个Ada程序进行了逐步细化,一个程序用于查找具有指定属性的数组元素的最小索引,另一个程序用来记录等价关系。它们首先被开发为没有并发的独立程序,然后重新开发以显示等效的并发实现。非干扰版本是更通用的干扰开发方法的特例。然而,琼斯的报告中有一些不足之处。任何不熟悉他早期作品的人都会发现这个符号特别难以理解。它在软件开发:一种严格的方法[1]。这本书和这篇文章一起构成了一些非常有益的阅读。Jones的开发方法没有处理一些重要问题,例如死锁、Ada异常、总体正确性以及任务如何共享全局变量的某些方面。Ada示例在语法上不正确,尽管它们是可以理解的。然而,正确的语法确实使示例更容易阅读。琼斯并没有声称自己定义了一个完整的证据系统。给定的证明规则是不稳定的,还需要进一步的例子。本报告基本上表明,通过扩展琼斯的严格方法可以得出一些有用的结果,但仍有许多途径有待探索。琼斯在本报告中提出了几个几乎是间接的意见,值得注意。一个是程序规范必须包含一些关于性能的注释,如果它们要被正确地理解为需要并发性的话。(如果性能不是一个因素,那么非并发实现总是可以满足要求的。)另一个原因是存在很大的压力,需要采用能够控制干扰程度的语言功能。Ada会合概念在这方面特别有用。

                      访问计算机文献的关键评论在这里

                      成为评论员计算评论。

                      评论

                      登录选项

                      检查您是否可以通过登录凭据或您的机构访问本文。

                      登录

                      完全访问权限

                      • 发布于

                        封面图片ACM程序设计语言与系统汇刊
                        程序设计语言与系统学报 第5卷第4期
                        1983年10月
                        168页
                        国际标准编号:0164-0925
                        EISSN公司:1558-4593
                        内政部:10.1145/69575
                        期刊目录

                        版权所有©1983 ACM

                        发布者

                        计算机协会

                        美国纽约州纽约市

                        出版历史

                        • 发布时间:1983年10月1日
                        发布于托普拉斯第5卷第4期

                        权限

                        请求有关此文章的权限。

                        请求权限

                        检查更新

                        限定符

                        • 文章

                      PDF格式

                      以PDF文件查看或下载。

                      PDF格式

                      电子阅读器

                      使用eReader联机查看。

                      电子阅读器