ABSTRACT
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.
- Vinay Kulkarni, R. Venkatesh and Sreedhar Reddy. Generating enterprise applications from models. OOIS'02, LNCS 2426, pp 270--279. 2002. Google ScholarDigital Library
- UML Infrastructure 2.0 Draft Adopted Specification, 2003, http://www.omg.org/uml/Google Scholar
- MOF Query / Views / Transformations http://www.omg.org/spec/QVT/1.0Google Scholar
- MOF Models to Text Transformation Language http://www.omg.org/spec/MOFM2T/1.0/Google Scholar
- Harold Ossher, Peri L. Tarr: Hyper/JTM: Multi-Dimensional Separation of Concerns for JavaTM. ICSE 2001: 821--822 Google ScholarDigital Library
- MasterCraft - Component-based Development Environment. Technical Documents. Tata Research Development and Design Centre. http://www.tata-mastercraft.comGoogle Scholar
- Vinay Kulkarni, Sreedhar Reddy: Introducing MDA in a large IT consultancy organization. APSEC 2006: 419--426. Google ScholarDigital Library
Index Terms
- An abstraction for reusable MDD components: model-based generation of model-based code generators
Recommendations
Deriving detailed design models from an aspect-oriented ADL using MDD
Software architects can separate crosscutting concerns more appropriately by using an aspect-oriented ADL, concretely AO-ADL. This paper illustrates how aspect-orientation and model-driven development technologies can be used to enhance the system ...
Reusable Components in a Health Care Information System
IIS '97: Proceedings of the 1997 IASTED International Conference on Intelligent Information Systems (IIS '97)Until now a lot of research has been done on software reuse; the reuse in database environment, however, didn't seem to have received enough attention. From this point of view the goal of the MetaBase project is to show that it is possible to apply ...
Reducing time and effort in legacy systems reengineering to MDD using metaprogramming
RACS '12: Proceedings of the 2012 ACM Research in Applied Computation SymposiumModel-Driven Development (MDD) has been a subject of several studies focused on software development. MDD aims to keep the model consistent with the implementation and most studies in this area are restricted to show how to transform domain models to ...
Comments