2020 · 10 citations · 19 references
ComputingComputer ScienceSoftware EngineeringSystems ArchitectureSystems ModelingModel TransformationModel-driven DevelopmentModel-driven Software EngineeringSoftware ArchitectureSoftware EvolutionSoftware ModelingApi ArchitectureApi EvolutionModel EvolutionModel-driven EngineeringModel-to-code GenerationSoftware Co-evolutionSource Code Evolution
Model-driven software engineering fosters abstraction through the use of models and then automation by transforming them into various artefacts, in particular to code, for example: 1) from architectural models to code, 2) from metamodels to API code (with EMF in Eclipse), 3) from entity models to front-end and back-end code in Web stack application (with JHispter), etc. In all these examples, the generated code is usually enriched by developers with additional code implementing advanced functionalities (e.g., checkers, recommenders, etc.) to build a full coherent system. When the system must evolve, so are the models to re-generate the code. As a result, the developers' enriched code may be impacted and thus need to co-evolve accordingly. Many approaches support the co-evolution of various artifacts, but not the co-evolution of code. This paper sheds light on this issue and envisions to fill this gap.
19
Jonathan Aldrich, Craig Chambers, David Notkin · 2002 · 449 citations
Computing, Computer Science, Design +12
Empirical assessment of MDE in industry
John Hutchinson, Jon Whittle, Mark Rouncefield et al. · 2011 · 360 citations
Management, Organization Studies, Organizational Behavior +10
Model-driven engineering practices in industry
John Hutchinson, Mark Rouncefield, Jon Whittle · 2011 · 207 citations