@mbork

Towards Roundtrip Engineering - A Template-Based Reverse Engineering Approach.

, , , and . ECMDA-FA, volume 5095 of Lecture Notes in Computer Science, page 33--47. Springer, (2008)http://dblp.uni-trier.de/db/conf/ecmdafa/ecmdafa2008.html#BorkGSZ08.

Abstract

Model driven development suggests to make models the main artifact in software development. To get executable models in most cases code generation to a traditional programming language like e.g. Java is used. To obtain customizable code generation template-based approaches are applied, commonly. So, to adapt the generated code to platform specific needs templates are modified by the user. After code generation, in real world application the generated code is often changed e.g. by refactorings. To keep the code and the model synchronous reverse engineering is needed. Many approaches use a Java parser and a mapping from the Java parse tree to the UML model for this task. This causes maintenance issues since every change to a template potentially results in a change to this parse tree - model mapping. To tackle this maintenance problem our solution does not use a common language parser but uses the templates as a grammar to parse the generated code, instead. This way changes to the templates are automatically taken into account in the reverse engineering step. Our approach has been implemented and tested in the Fujaba CASE tool as a part of the model and template-based code generator CodeGen2.

Links and resources

Tags

community