APLA-JAVA程序自动转换系统的研制

来源 :江西师范大学 | 被引量 : 0次 | 上传用户:pygta
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
从60年代“软件危机”爆发至今,人们一直经受着“软件危机”的困扰。软件的生产效率和可靠性远远满足不了社会发展的需要:一方面,软件故障给人们的生命和财产造成了巨大的损失;另一方面,社会对软件的需求量日益增加,而程序员每年所能开发的有效代码却仍然是少之又少。如何才能更高效地开发出更可靠的软件产品是软件开发技术和软件工程技术所要解决的重要问题。为了更好地解决这两个至关重要的问题,PAR方法应运而生。而本文所研究的APLA程序到JAVA程序自动转换系统则是PAR方法的重要支持工具,同时,也是多个国家自然科学基金课题的重点研究内容之一。它是在自动化和形式化理论及程序转换技术的基础上构造而成,能够将PAR方法推导出的APLA程序进行转换自动生成可执行的JAVA程序,是PAR方法支持软件开发的全过程提供了强有力的工具支持。同时,它也可作为一个独立的软件工具来使用。 围绕着程序转换系统的设计与实现,本文主要完成了如下工作: 1、研究Apla语言与JAVA语言的对应关系,寻找把Apla语言转换为JAVA语言的规律; 2、在自定义JAVA可重用部件库中构造了支持转换器所用必须的输入流类、泛型类及接口和五种抽象数据类型的两种实现。 3、用程序实现上述转换,即实现Apla->JAVA程序自动转换系统,使之能够实现对简单数据类型及复合数据类型的处理。其中转换器部分由2万7千余行代码实现。 4、使用APLA语言对典型算法进行描述,并将其转换成可执行的JAVA程序。 5、实现了自动转换系统的泛型问题中的类型参数化问题,解决了APLA提供泛型机制,而JAVA语言不支持泛型机制的矛盾。 就已实现的转换系统,我们使用APLA对典型的算法如:非递归遍历二叉树、dijkstra、拓朴排序、最小生成树、非穿线树实现中序前导等算法进行描述转换,能够达到有效提高软件开发可靠性和效率的预期目标,从而可取代软件蓝领,完成机械性和非创造性工作。
其他文献
该文从中国、中国人民解放军气象装备和通信条件的实际情况出发,重点研究探讨了天气雷达组网、雷达信息压缩传输和多种型号雷达信息的同化处理技术,为天气雷达组网拼图的实现
自动推理是一门在给定知识及有关推理策略的前提下,研究用计算机帮助人们进行推理的学科.多种类逻辑及多种类谓词演算是经典一阶逻辑及其演算的重要拓展,并已经在计算机科学
该文提出了一种相类似的新算法——使用色彩与视差空间信息的SCADI(Segmentation of Colorand Disparity Information)分割技术,它由多帧平均的FAS(Frame AverageSegmentatio
信息安全是指如何防止计算机和通信系统中的数据被非授权泄漏和篡改的科学和研究方法.密码学理论和密码技术是信息安全的一个重要组成部分.它涉及到许多学科,诸如数学、计算
针对目前银行存在的多种数据库应用并存的状况,该文提出了一种基于XML的异构数据库挖掘方案,即通过JDBC访问数据库,然后将数据存放到XML文档中,并在此基础上进行数据挖掘.该
防火墙技术是建立在现代通信网络技术和信息安全技术基础上的应用性安全技术,越来越多地应用于专用网络与公用网络的互联环境之中。但是,防火墙作为必备的安全手段,其性能直接决