论文部分内容阅读
随着移动互联网的飞速发展,iOS平台的日渐成熟,大量开发者基于Objective-C语言为iOS开发了海量的应用。Swift语言的出现,简化了iOS的开发难度并为iOS应用的提供了更加出色的特性,因此许多应用都将面临从ObjC到Swift的移植。有效地开展移植工作,需要系统的对移植问题进行研究,提出合理的移植框架。本文就这一问题,开展软件移植的研究。作者对现有的软件移植工作进行了综述,总结了前人的研究成果,以及面向对象语言相关的移植的关键技术。以往的代码移植研究大多是针对特定问题展开的,而缺乏对移植整体框架的研究。作者提出一种面向对象语言的移植框架,通过构件知识库进行移植,将源程序移植为目标程序。与以往的移植方法进行对比,基于构件知识库的移植思想增加了通过构件转换表进行转换的方式,同时将原先相互独立的同种语言的移植问题关联起来,在每一次移植过程中学习和积累移植的知识。构件知识库由映射规则,构件转换表和系统库转换组成,作者在ObjC到Swift语言的移植问题上创建了这些内容。在构件知识库的移植框架基础上,作者还提出了基于构件知识库的可移植度量。最后,作者进行了工程实践的验证工作。作者完成的主要工作如下:(1)对软件移植理论研究成果进行综述。(2)提出基于构件知识库的面向对象语言移植框架和方法。(3)提出并实现了组成构件知识库的映射规则,构件转换表和系统库转换。(4)在构件知识库的移植框架的基础上提出可移植性度量方法。(5)利用ObjC到Swift的构件知识库,进行ObjC语言到Swift语言软件移植实践。通过工程实践,作者证实了基于构件知识库解决从ObjC到Swift的移植问题的有效性,能够在一定程度上简化移植问题。构件知识库需要通过更多的移植过程进行学习,逐渐完善映射规则,扩充构件转换表,简化移植工作。