Cobol2Java源代码翻译关键技术研究

来源 :中国科学院研究生院(计算技术研究所) | 被引量 : 5次 | 上传用户:godwin82
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
遗产软件系统是指那些运行多年,承担用户的关键业务并且随着计算平台的变迁和业务需求的发展不断进行维护和更新的软件系统。遗产代码维护人员的短缺,以及现代计算环境的变迁都给遗产软件系统的维护带来困难。一种可行的方法就是采用源代码翻译方法将其转换到现代语言或环境中。本文首先对Cobol和Java语言之间的不同点进行了对比,然后分析了几种主要的遗产代码迁移策略。基于以上的分析,本文设计和实现了一个将Cobol源代码翻译到Java源代码的系统——Cota翻译系统,解决了Cobol2Java实践中遇到的条件名变量转换、数据对象模型映射、控制流重构、动态调用以及文件和数据库访问等一系列关键问题。在这一过程中,本文深入研究了源代码翻译中的数据类型转换问题,控制流结构化问题和用户界面迁移问题,针对这三个问题分别提出并实现了自动化的功能等价的转换方法可以有效的将遗产代码迁移到目标平台。同时本文还研究了Cobol2Java转换中的多精度数据算术优化问题,提出了优化算法,可以将算术运算密集型的Cobol程序性能提高近98%。本文的主要贡献有:(1).设计并实现了一个自动化的Cobol2Java源代码翻译器,可以作为再工程(re-engineering)或遗产代码迁移研究的平台。(2).设计并实现了一个纯Java的Cobol核心语义支持库,其中包括对遗产文件数据的读写支持。通过这种核心库的支持,用户可以直接在web环境中开发具有Cobol功能的商务程序,从而利于维护成本的减少和与新应用的集成。同时,可以帮助Java程序员或Cobol程序员相互学习,从而有助于培养和训练胜任的遗产代码维护人员。(3).提出了一种新的基于类型封装的自动化的数据类型映射方法,可以同时支持低级的存储访问和类型访问,对保证目标码的功能等价性具有重要作用。(4).提出了基于switch和递归调用的控制流转换方法,可以解决Cobol程序中的perform和goto耦合的控制流结构化问题。和其他方法相比,本方法可以有效控制目标代码的膨胀,并且具有较好的可读性。(5).提出了基于十进制表示的多精度数据算术优化的方法,设计并实现了一个新的多精度数据类型的Java算术库,实验表明这个新的算术库比Java中的BigDecimal在十进制算术运算方面快98%左右。(6).提出了一种基于停止-等待协议的自动化界面转换方法,可以有效地改变界面的交互方式,将基于字符终端界面的程序迁移到web平台。
其他文献
对自然语言做准确的处理,在今天这样信息爆炸的社会,越来越显得迫切了。与传统的研究方法相比,本课题不是通过统计的方法对自然语言内容进行猜测,而是通过确定的演算去分析;
论文是在国家自然科学基金快速反应项目“管道CAD系统中的关键技术研究及CAD产品开发”的支持下以及北京石化工程公司、南京扬子石化工程公司的大力协作下完成的。论文工作主
移动数据库的研究是当前计算机领域的一个热点。作为移动数据库的基础性技术之一,移动事务管理在移动环境网络不稳定、主机节点移动性等条件下实现数据库访问的一致性、可用性
指令调度是一种指令级并行技术。它既是一种微体系结构技术,也是一种编译技术。对于后者,指令调度指的是在保持程序语义的前提下通过重新排列指令的顺序来提高流水的或多发射处
本文从可视化角度出发,以放射治疗为对象,对放射治疗数据管理系统、CT/MRI/PET图象的识别及三维图象重建、虚拟放射治疗仪等内容进行了深入研究。主要研究内容及创新点如下: 1
阿尔茨海默病(Alzhemier's disease,AD)是一种多见于老年人的渐进性神经系统变性疾病。通常病情呈进行性加重,患者逐渐丧失独立生活能力,最后死于并发症。来自实验及临床的研究资料
目的观察睡眠呼吸暂停相关性高血压患者对不同降压药物治疗的效果。方法连续入选就诊门诊或住院的高血压患者,并对可疑有"睡眠呼吸暂停综合症"的患者,进行整夜睡眠呼吸监测(P
目的:总结药剂科实习生的带教工作并分享经验。方法:从实习基地的教学体系、教学管理制度、教学计划和教学实施四方面的构建与实施着手,建立规范化、合理化的带教模式。结果:通过