Flexible generators for software reuse and evolution (NIER track)
Proceedings of the 33rd International Conference on Software Engineering
Proceedings of the 14th international conference on Model driven engineering languages and systems
Closing the gap between modelling and java
SLE'09 Proceedings of the Second international conference on Software Language Engineering
Maintaining invariant traceability through bidirectional transformations
Proceedings of the 34th International Conference on Software Engineering
Detecting source code changes to maintain the consistence of behavioral model
Proceedings of the Fourth Asia-Pacific Symposium on Internetware
Hi-index | 0.00 |
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.