Please use this identifier to cite or link to this item:
|Title:||Flexible generators for software reuse and evolution (NIER track)|
|Authors:||Jarzabek, S. |
software product lines
|Citation:||Jarzabek, S.,Trung, H.D. (2011). Flexible generators for software reuse and evolution (NIER track). Proceedings - International Conference on Software Engineering : 920-923. ScholarBank@NUS Repository. https://doi.org/10.1145/1985793.1985946|
|Abstract:||Developers tend to use models and generators during initial development, but often abandon them later in software evolution and reuse. One reason for that is that code generated from models (e.g., UML) is often manually modified, and changes cannot be easily propagated back to models. Once models become out of sync with code, any future re-generation of code overrides manual modifications. We propose a flexible generator solution that alleviates the above problem. The idea is to let developers weave arbitrary manual modifications into the generation process, rather than modify already generated code. A flexible generator stores specifications of manual modifications in executable form, so that weaving can be automatically re-done any time code is regenerated from modified models. In that way, models and manual modification can evolve independently but in sync with each other, and the generated code never gets directly changed. As a proof of concept, we have already built a flexible generator prototype by a merger of conventional generation system and variability technique to handle manual modifications. We believe a flexible generator approach alleviates an important problem that hinders wide spread adoption of MDD in software practice. © 2011 ACM.|
|Source Title:||Proceedings - International Conference on Software Engineering|
|Appears in Collections:||Staff Publications|
Show full item record
Files in This Item:
There are no files associated with this item.
checked on Feb 12, 2019
checked on Dec 22, 2018
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.