学位论文 > 优秀研究生学位论文题录展示
APLA到C++自动程序转换系统的研制
作 者: 赖勇
导 师: 薛锦云
学 校: 江西师范大学
专 业: 计算机软件与理论
关键词: 软件危机 形式化方法 PAR方法 算法程序 Apla语言 C++语言 泛型程序设计 核心转换器
分类号: TP311.5
类 型: 硕士论文
年 份: 2002年
下 载: 80次
引 用: 7次
阅 读: 论文下载
内容摘要
“软件危机”是造成当前软件产业发展缓慢的主要因素,其表现形式有:1.软件产品的质量靠不住;2.软件的可维护性低;3.软件的成本不断提高;4.软件开发生产率的提高赶不上硬件的发展和人们需求的增长。在多项国家级课题资助下形成的PAR方法正是克服上述“软件危机”,提高软件的可靠性和开发效率的简单有效的形式化开发方法。本项研究作为PAR方法的一个重要组成部分,也是国家自然科学基金课题“实用的形式化开发方法及其工具的研究”的一个子课题,目标是研制一个自动程序转换系统,该系统能将用Apla语言描述的抽象程序转换为目前流行的C++语言程序并直接运行。 针对上述研究目标,我们主要进行了以下工作: 1.研究阻碍当前软件发展的主要因素,对现有的形式化方法及其配套工具进行了分析比较,并以PAR方法作为本文研究的理论基础。 2.使用PAR方法开发了一些典型的算法问题。通过大量的开发实例证明,PAR方法的确是一种简单有效的算法程序形式化开发方法。 3.对Apla语言和C++语言的文法进行比较,研究它们之间的转换规则。 4.研究将Apla语言中的泛型程序设计机制转换为等价C++语言程序的方法。 5.研制核心转换器,实现Apla抽象数据类型到C++部件库的转换。 6.研制Apla到C++自动程序转换系统。 7.用大量典型的Apla程序对自动程序转换系统进行了测试。 在系统的研制过程中,我们参考了当前流行的程序编辑器和现有的程序转换系统的特点,并进行了多方面的创新:在实现技术上,采用中间变量自动生成及检测技术,实现了Apla语言中多重赋值语句的转换;在系统功能上,实现了抽象程序到可执行程序的自动转换并直接运行得到结果,集程序转换器和编译器的特点于一身;在系统界面上,创造性地实现了转换后编辑窗口的自动分割,便于Apla程序和转换得到的C++程序的比较,并在窗口中直接引入数学符号工具栏,既体现了系统的特色又方便用户的使用。 本系统含代码1万1千余行,我们用该系统对大量的经过严格推导的Apla程序进行了转换以检测其实际运行效果。Apla语言充分体现了功能抽象、数据抽象等现代程序设计思想,它引入了传统的数学符号和数学表达式,用Apla语言书写的程序便于形式化推导和证明。而用于部件库转换的核心转换器则经过了严格的测试,所有这些都充分保障了转换得到的C++程序的可靠性。这些Apla程序经过转换并直接运行得到了正确的结果就充分说明了这一点。因此,本系统作为提高软件可靠性和开发效率的自动化工具,可以进一步产品化并应用到实际的软件开发中去以促进软件产业的快速发展。
|
全文目录
致谢 2-3 中文摘要 3-4 英文摘要 4-5 目录 5-7 引言 7-9 1. 研究背景 7-8 2. 研究的主要内容 8-9 第一章 软件形式化开发研究 9-14 1.1 软件开发所面临的困境 9 1.2 软件开发的形式化方法 9-10 1.3 典型的形式化方法及其工具介绍 10-14 第二章 高可靠性算法程序开发 14-24 2.1 程序、算法与算法程序 14 2.2 高可靠性算法程序开发示例 14-24 例1 求解最小和问题 14-16 例2 计算数组元素的立方 16-18 例3 二叉树的遍历算法 18-20 例4 单源最短路算法 20-24 第三章 APLA到C++自动程序转换系统的研制 24-34 3.1 自动程序转换系统的设计 24-25 3.2 自动程序转换系统的实现 25-29 3.3 自动程序转换系统中泛型程序转换的设计与实现 29-30 3.4 自动程序转换系统用户界面的设计与实现 30-32 3.5 自动程序转换系统的安装和运行环境 32-34 3.5.1 自动程序转换系统的安装 32-33 3.5.2 系统的运行环境 33-34 第四章 系统的实际运行效果 34-65 4.1 转换实例一:最小和问题 34-36 4.2 转换实例二:数组元素的立方问题 36-37 4.3 转换实例三:快速排序问题 37-40 4.4 转换实例四:二叉树的遍历问题 40-42 4.5 转换实例五:Dijkstra单源最短路算法 42-54 4.6 泛型程序转换实例:Prim最小生成树算法 54-64 4.7 运行效果总结 64-65 第五章 总结与讨论 65-66 参考文献 66-68
|
相似论文
- 若干算法设计模式的研究与应用,TP311.51
- 支持泛型程序设计的APLA-Delphi自动程序转换系统,TP311.52
- 支持泛型程序设计的Apla-Java自动程序转换系统,TP311.1
- Apla→C#自动程序转换系统的设计与实现,TP311.52
- 基因调控网络模型描述语言研究,Q78
- 文学语言的模糊修辞研究,H05
- 布依语—英语语音对比研究,H319
- 统计机器翻译中结构转换技术的研究,TP391.2
- 词义消歧语料库自动获取方法研究,TP391.1
- 飞行模拟中飞行管理计算机系统CDU组件设计与仿真,TP391.9
- 维特根斯坦“语言游戏说”新探,B521
- 军队后勤物资管理系统设计与实现,TP311.52
- 网络语言影响职校学生语用情况的调查及研究,G715
- 对初中数学课堂学习即时性评价的认识与探索,G633.6
- 周礼全意义理论研究,B812
- 硬件描述语言的哲学分析,N02
- 牛津初中英语任务型教学的实践与研究,G633.41
- 面向领域的数据库问答系统关键技术研究,TP311.13
- 佛教语言功能研究,B948
- 日本近代北京官话教本对《语言自迩集》继承与发展研究,H195
中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序设计、软件工程 > 软件工程
© 2012 www.xueweilunwen.com
|