The introduction of UML class diagrams has not raised the abstraction level of development to the extent that was intended: class diagrams are only the visual representations of source class skeletons implemented in a programming language. To improve the productivity, domain-specific languages are applied, which cover a narrow domain, and their high abstraction makes use of the domain experts easier. The simultaneous evolution of the source code and the software models causes the loss of synchronization. Round-tripping the domain-specific models is not supported by model-driven development tools, because the abstraction gap between the models and the generated code prevents the use of general approaches. However, developers should have the opportunity of choosing between the artifacts that are more efficient for applying the modifications. This paper introduces how different tools achieve the preservation of manually written code while the model is evolving. In contrast, we present our approach that allows the customization of the generated code. The abstraction gap is closed by performing model transformations and an incremental merge.
[1]
Pierre Boulet,et al.
Traceability and Interoperability at Different Levels of Abstraction in Model-Driven Engineering
,
2006
.
[2]
Damir Kalpić,et al.
Preservation of manually written source code in case of repeated code generation
,
2003
.
[3]
Jon Oldevik,et al.
Traceability in Model to Text Transformations
,
2006
.
[4]
Steve Cook,et al.
Domain-Specific Development with Visual Studio DSL Tools
,
2007
.
[5]
Hassan Charaf,et al.
Novel Techniques For Model-Code Synchronization
,
2008,
Electron. Commun. Eur. Assoc. Softw. Sci. Technol..
[6]
Michal Antkiewicz,et al.
Framework-Specific modeling languages with round-trip engineering
,
2006,
MoDELS'06.
[7]
Pierre Boulet,et al.
Traceability and Interoperability at Different Levels of Abstraction in Model Transformations
,
2005
.
[8]
J. Küster,et al.
Taming Model Round-Trip Engineering
,
2004
.
[9]
Gabor Karsai,et al.
Model-Integrated Computing
,
1997,
Computer.