Towards Roundtrip Engineering - A Template-Based Reverse Engineering Approach.
M. Bork, L. Geiger, C. Schneider, и A. Zündorf. ECMDA-FA, том 5095 из Lecture Notes in Computer Science, стр. 33--47. Springer, (2008)http://dblp.uni-trier.de/db/conf/ecmdafa/ecmdafa2008.html#BorkGSZ08.
Аннотация
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.
%0 Conference Paper
%1 BorkGSZ08
%A Bork, Manuel
%A Geiger, Leif
%A Schneider, Christian
%A Zündorf, Albert
%B ECMDA-FA
%D 2008
%E Schieferdecker, Ina
%E Hartman, Alan
%I Springer
%K berlin checked code codegen ecmda flexibility flexible fujaba legacy legacycode mda reverse reverse-engineering reverseengineering roundripengineering roundtrip roundtrip-engineering staffmember templatebased templates uml velocity
%P 33--47
%T Towards Roundtrip Engineering - A Template-Based Reverse Engineering Approach.
%U http://www.se.eecs.uni-kassel.de/se/fileadmin/se/publications/ECMDA08.pdf
%V 5095
%X 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.
%@ 978-3-540-69095-5
@inproceedings{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.},
added-at = {2008-06-13T18:26:43.000+0200},
author = {Bork, Manuel and Geiger, Leif and Schneider, Christian and Zündorf, Albert},
biburl = {https://www.bibsonomy.org/bibtex/20fa875eb9a47bd993ffd7281f10ab8b8/mbork},
booktitle = {ECMDA-FA},
crossref = {conf/ecmdafa/2008},
date = {2008-06-09},
editor = {Schieferdecker, Ina and Hartman, Alan},
ee = {http://dx.doi.org/10.1007/978-3-540-69100-6_3},
interhash = {b4804d26a8cd13a714784d9eae22a455},
intrahash = {0fa875eb9a47bd993ffd7281f10ab8b8},
isbn = {978-3-540-69095-5},
keywords = {berlin checked code codegen ecmda flexibility flexible fujaba legacy legacycode mda reverse reverse-engineering reverseengineering roundripengineering roundtrip roundtrip-engineering staffmember templatebased templates uml velocity},
note = {http://dblp.uni-trier.de/db/conf/ecmdafa/ecmdafa2008.html#BorkGSZ08},
pages = {33--47},
publisher = {Springer},
series = {Lecture Notes in Computer Science},
timestamp = {2008-06-13T18:26:43.000+0200},
title = {Towards Roundtrip Engineering - A Template-Based Reverse Engineering Approach.},
url = {http://www.se.eecs.uni-kassel.de/se/fileadmin/se/publications/ECMDA08.pdf},
volume = 5095,
year = 2008
}