An abstraction for reusable MDD components: model-based generation of model-based code generators

  • Authors:
  • Vinay Kulkarni;Sreedhar Reddy

  • Affiliations:
  • Tata Consultancy Services, Pune, India;Tata Consultancy Services, Pune, India

  • Venue:
  • GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

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.