Hyper/J: multi-dimensional separation of concerns for Java
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Generating Enterprise Applications from Models
OOIS '02 Proceedings of the Workshops on Advances in Object-Oriented Information Systems
Introducing MDA in a large IT consultancy organization
APSEC '06 Proceedings of the XIII Asia Pacific Software Engineering Conference
Raising family is a good practice
FOSD '10 Proceedings of the 2nd International Workshop on Feature-Oriented Software Development
Scaling up model driven engineering-experience and lessons learnt
MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II
Use of SPLE to deliver custom solutions at product cost: challenges and a way forward
Proceedings of the 2nd International Workshop on Product Line Approaches in Software Engineering
Early experience with agile methodology in a model-driven approach
Proceedings of the 14th international conference on Model driven engineering languages and systems
Towards business application product lines
MODELS'12 Proceedings of the 15th international conference on Model Driven Engineering Languages and Systems
Cost estimation for model-driven engineering
MODELS'12 Proceedings of the 15th international conference on Model Driven Engineering Languages and Systems
Model driven software development: a practitioner takes stock and looks into future
ECMFA'13 Proceedings of the 9th European conference on Modelling Foundations and Applications
Hi-index | 0.00 |
We discuss our experience of using model-based techniques to generate model-based code generators. The central idea behind model-driven development (MDD) is to use suitable models to specify various concerns and transform these models to a variety of text artifacts. A business product needs to deliver a given business functionality on a wide variety of implementation platforms and architectures thus necessitating multiple sets of code generators. However, there is a considerable commonality across these code generators. In absence of a suitable abstraction for capturing this commonality, there is little or no reuse across these code generators. We present an abstraction for organizing model-based code generators as a hierarchical composition of reusable building blocks. A building block is a localized specification of a concern in terms of a concern-specific meta model, model to model trans-formation, and model to text transformation. Model-based code generation is a 3-step walk over the composition tree wherein the first step transforms individual concern-specific models into a unified model, the second step transforms the unified model into individual concern-specific text artifacts, and the third step composes these text artifacts.