Title
Experiences from reengineering and modularizing a legacy software generator with a projectional language workbench.
Abstract
We present a case study of migrating a legacy language infrastructure and its codebase to a projectional language workbench. Our subject is the generator tool ADS used for generating COBOL code for critical software systems. We decompose the ADS language into smaller sub-languages, which we implement as individual DSLs in the projectional language workbench JetBrains Meta Programming System (MPS). Our focus is on ADS' preprocessor sub-language, used to realize static variability by conditionally including or parameterizing target code. The modularization of ADS supports future extensions and tailoring the language infrastructure to the needs of individual customers. We re-implement the generation process of target code as chained model-to-model and model-to-text transformations. For migrating existing ADS code, we implement an importer relying on a parser in order to create a model in MPS. We validate the approach using an ADS codebase for handling car registrations in the Netherlands. Our case study shows the feasibility and benefits (e.g., language extensibility and modern editors) of the migration, but also smaller caveats (e.g., small syntax adaptations, the necessity of import tools, and providing training to developers). Our experiences are useful for practitioners attempting a similar migration of legacy generators to a projectional language workbench.
Year
DOI
Venue
2016
10.1145/2934466.2962733
SPLC
Field
DocType
Citations 
Metaprogramming,Codebase,Programming language,COBOL,Software engineering,Computer science,Reverse engineering,Software system,Modular programming,Parsing,Legacy system
Conference
1
PageRank 
References 
Authors
0.35
12
3
Name
Order
Citations
PageRank
Max Lillack1223.03
Thorsten Berger260334.35
Regina Hebig317924.24