Migrating Esope to Fortran 2008 using model transformations
Preprint
Abstract
Legacy programming languages such as FORTRAN 77 still play a vital role in many industrial applications. Maintaining and modernizing these languages is challenging, especially when migrating to newer standards such as Fortran 2008. This is exacerbated in the presence of legacy proprietary extensions on such legacy languages, because their semantics are often based on old context (limits of legacy language, domain logic,...). This paper presents an approach for automatically migrating FORTRAN 77 with a proprietary extension, named Esope, to Fortran 2008. We introduce a tool that converts Esope source code to Fortran 2008. While supporting readability of the generated code, we want to maintain the level of abstraction provided by Esope. Our method uses model-driven engineering techniques, with transformations to generate a target model from which we export easy-to-read Fortran 2008 source code. We discuss the advantages, limitations, and maintainability considerations of our approach and provide insights into its scalability and adaptability to evolving requirements.Keywords
All Related Versions
This publication has 24 references indexed in Scilit:
- Making legacy Fortran code type safe through automated program transformationThe Journal of Supercomputing, 2021
- Modular Moose: A New Generation of Software Reverse Engineering Platform2020
- Survey and classification of model transformation toolsSoftware and Systems Modeling, 2018
- Fortran Legacy Code Performance Optimization: Sequential and Parallel Processing with OpenMP2009
- The Epsilon Transformation Language2008
- Goto Elimination Strategies in the Migration of Legacy Code to Java2008
- Taming control flow: a structured approach to eliminating goto statements2002
- The realities of language conversionsIEEE Software, 2000
- Conversion of Fortran to Ada using an Intermediate Tree RepresentationThe Computer Journal, 1983
- A Fortran to Pascal translatorSoftware: Practice and Experience, 1981