Java Transformation Library (jTL)

By Bernhard Eischer .
Advised by Manuel Wimmer and Gerti Kappel

This work has been finished in October 2014.

Transformation is an important field of software migration and modernization. Although transformation is the purest form of migration, because the conversion takes place in a 1:1 form, there are also some strong arguments why a transformation could face a lot of difficulties and challenges. The superior problem is that a transformation, regardless of whether code, model or data has to be transformed, is only as good as the tool and the underlying transformation library is. So there are many challenges to overcome, like the deep understanding of the source and target technology, the mostly very complex task of the mapping between them, as well as the financial effort. This master thesis focuses on the architecture and techniques of a source code transformation with Java. Based on an simple transformation Library called SiTra and an already existing PL/1/Cobol to Java Transformer, improvement especially by adding new Java 8 features and adaption to the architecture, should lead to a better performance of the transformation and a better readability and maintainability of transformation code. The findings should result in a library called Java Transformation Library (jTL).

To test and demonstrate parts of the jTL, a transformation of PL/I source code to Java source code should serve as examples. There is also a special interest in transforming legacy code to state-of-the-art programming language, since the challenge of migrating over decades growing legacy software application is a well-known problem since many years in industry. A well-designed transformation can be the answer to this problem or at least can act as a main element of source code migration.

Abstract and paper may be found in our publication database.