使用自定义编译的大型机遗留系统的高效平台迁移

Markus Schnappinger, Jonathan Streit
{"title":"使用自定义编译的大型机遗留系统的高效平台迁移","authors":"Markus Schnappinger, Jonathan Streit","doi":"10.26226/morressier.613b5419842293c031b5b64a","DOIUrl":null,"url":null,"abstract":"Legacy software systems play an important role in the economy but are known to cause high operational and maintenance costs. To reduce these costs, such systems are often migrated to modern infrastructure or languages. There exists a variety of migration strategies, however choosing the best strategy or combination of strategies given technical, economical and business constraints remains a challenging task. We observe a lack of experience reports on industrial migration projects explaining their decisions in detail. In this report, we present the case of an insurance system with 1M Source Lines of Code, running on an expensive mainframe and featuring Natural, Cobol, and Assembler code as well as an Adabas database. We elaborate on why state-of-practice migration strategies were inadequate in this case and introduce an alternative methodology, taking into account the limited budget for the migration. In this project, we use custom transpilation to translate the legacy code automatically to another programming language. In contrast to off-the-shelf transpilers, we implement an iteratively refined transpiler that is fine-tuned to the legacy code at hand. The transpiler guides its own development by pointing out instructions in the legacy code it cannot yet translate. Manual adaptions to the legacy code allow circumventing the implementation of overly complicated translation rules. This ensures the transpiler and the generated code remain lean and efficient while being able to cope with specific challenges of the system at hand. In the presented industrial case, Natural and Assembler sources were transpiled to Cobol running on Linux, combined with some adapted and rewritten Cobol and Java. We illustrate our lessons learned and provide in-depth insights into testing and debugging activities. A comparison with alternative offers by other vendors validates the economic benefits of this approach.","PeriodicalId":205629,"journal":{"name":"2021 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"12 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Efficient Platform Migration of a Mainframe Legacy System Using Custom Transpilation\",\"authors\":\"Markus Schnappinger, Jonathan Streit\",\"doi\":\"10.26226/morressier.613b5419842293c031b5b64a\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Legacy software systems play an important role in the economy but are known to cause high operational and maintenance costs. To reduce these costs, such systems are often migrated to modern infrastructure or languages. There exists a variety of migration strategies, however choosing the best strategy or combination of strategies given technical, economical and business constraints remains a challenging task. We observe a lack of experience reports on industrial migration projects explaining their decisions in detail. In this report, we present the case of an insurance system with 1M Source Lines of Code, running on an expensive mainframe and featuring Natural, Cobol, and Assembler code as well as an Adabas database. We elaborate on why state-of-practice migration strategies were inadequate in this case and introduce an alternative methodology, taking into account the limited budget for the migration. In this project, we use custom transpilation to translate the legacy code automatically to another programming language. In contrast to off-the-shelf transpilers, we implement an iteratively refined transpiler that is fine-tuned to the legacy code at hand. The transpiler guides its own development by pointing out instructions in the legacy code it cannot yet translate. Manual adaptions to the legacy code allow circumventing the implementation of overly complicated translation rules. This ensures the transpiler and the generated code remain lean and efficient while being able to cope with specific challenges of the system at hand. In the presented industrial case, Natural and Assembler sources were transpiled to Cobol running on Linux, combined with some adapted and rewritten Cobol and Java. We illustrate our lessons learned and provide in-depth insights into testing and debugging activities. A comparison with alternative offers by other vendors validates the economic benefits of this approach.\",\"PeriodicalId\":205629,\"journal\":{\"name\":\"2021 IEEE International Conference on Software Maintenance and Evolution (ICSME)\",\"volume\":\"12 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2021-09-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2021 IEEE International Conference on Software Maintenance and Evolution (ICSME)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.26226/morressier.613b5419842293c031b5b64a\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 IEEE International Conference on Software Maintenance and Evolution (ICSME)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.26226/morressier.613b5419842293c031b5b64a","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

摘要

遗留软件系统在经济中扮演着重要的角色,但众所周知,它会导致高昂的操作和维护成本。为了减少这些成本,这些系统经常迁移到现代基础设施或语言。存在各种各样的迁移策略,然而,在给定技术、经济和业务约束的情况下选择最佳策略或策略组合仍然是一项具有挑战性的任务。我们观察到缺乏详细解释工业迁移项目决策的经验报告。在本报告中,我们介绍了一个保险系统的案例,该系统有1M源代码行,运行在昂贵的大型机上,具有Natural、Cobol和Assembler代码以及一个Adabas数据库。我们详细说明了为什么实践状态的迁移策略在这种情况下是不充分的,并介绍了另一种方法,考虑到有限的迁移预算。在这个项目中,我们使用自定义编译将遗留代码自动翻译为另一种编程语言。与现成的转译器相比,我们实现了一个迭代改进的转译器,它对手头的遗留代码进行了微调。转译器通过指出它还不能翻译的遗留代码中的指令来指导自己的开发。对遗留代码的手动调整允许规避过于复杂的翻译规则的实现。这确保了转译器和生成的代码保持精简和高效,同时能够处理手头系统的特定挑战。在这个工业案例中,自然源和汇编源被编译成运行在Linux上的Cobol,并结合了一些经过改编和重写的Cobol和Java。我们阐述了我们的经验教训,并对测试和调试活动提供了深入的见解。与其他供应商提供的替代方案的比较验证了这种方法的经济效益。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Efficient Platform Migration of a Mainframe Legacy System Using Custom Transpilation
Legacy software systems play an important role in the economy but are known to cause high operational and maintenance costs. To reduce these costs, such systems are often migrated to modern infrastructure or languages. There exists a variety of migration strategies, however choosing the best strategy or combination of strategies given technical, economical and business constraints remains a challenging task. We observe a lack of experience reports on industrial migration projects explaining their decisions in detail. In this report, we present the case of an insurance system with 1M Source Lines of Code, running on an expensive mainframe and featuring Natural, Cobol, and Assembler code as well as an Adabas database. We elaborate on why state-of-practice migration strategies were inadequate in this case and introduce an alternative methodology, taking into account the limited budget for the migration. In this project, we use custom transpilation to translate the legacy code automatically to another programming language. In contrast to off-the-shelf transpilers, we implement an iteratively refined transpiler that is fine-tuned to the legacy code at hand. The transpiler guides its own development by pointing out instructions in the legacy code it cannot yet translate. Manual adaptions to the legacy code allow circumventing the implementation of overly complicated translation rules. This ensures the transpiler and the generated code remain lean and efficient while being able to cope with specific challenges of the system at hand. In the presented industrial case, Natural and Assembler sources were transpiled to Cobol running on Linux, combined with some adapted and rewritten Cobol and Java. We illustrate our lessons learned and provide in-depth insights into testing and debugging activities. A comparison with alternative offers by other vendors validates the economic benefits of this approach.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信