论文部分内容阅读
从“软件危机”爆发至今,有很多新方法和新工具被提出,致力于解决“软件危机”的各个方面。但现有的这些解决方案并没有使人们彻底地从“软件危机”中解脱出来。用形式化方法开发正确、高效的算法程序,被当今计算机界誉为克服“软件危机”,提高软件可靠性和生产效率的革命性途径。 薛锦云教授在国家863和多项国家自然科学基金的资助下,根据多年从事算法程序设计理论研究的成果,提出了一种简单实用的设计和证明算法的形式化方法——PAR。在该方法的指导下,定义了Radl(Recurrence-based Algorithm Design Language)抽象算法设计语言来描述算法规约和抽象算法,定义了Apla(Abstract Programming Language)语言来描述抽象程序。 本项研究作为PAR方法研究的一个重要组成部分,目标是开发一个自动程序转换系统,该系统能将用Radl语言描述的算法转换成抽象语言程序Apla程序。 围绕转换系统的设计与实现,本文主要做了一下工作: 1、对Radl算法描述语言和Apla抽象程序语言进行了归纳和整理。 2、归纳总结Radl语言到Apla语言的程序变换规则。 3、基本上实现了由Radl算法语言程序到Apla程序语言程序的自动转换。 4、用一些典型的算法程序对转换系统进行测试。 Radl→Apla自动转换系统已经将Radl语言书写的数组求和、立方问题、层次遍历二叉树、图的遍历等算法转换为Apla程序并运行得到正确结果。 本研究主要进行了如下创新: 1、实现了Radl语言中的无序递推关系式到Apla程序的转换。 2、实现了Radl语言中的隐式递推关系式到Apla程序的转换。