Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Towards pattern-based design recovery
Proceedings of the 24th International Conference on Software Engineering
Modelling and Simulation of a Material Flow System
Modellierung 2001, Workshop der Gesellschaft für Informatik e. V. (GI)
Towards the Reverse Engineering of UML Sequence Diagrams
WCRE '03 Proceedings of the 10th Working Conference on Reverse Engineering
CPP2XMI: Reverse Engineering of UML Class, Sequence, and Activity Diagrams from C++ Source Code
WCRE '06 Proceedings of the 13th Working Conference on Reverse Engineering
Towards tool support for agile modeling: sketching equals modeling
Proceedings of the 2012 Extreme Modeling Workshop
Hi-index | 0.00 |
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 [11].