Towards Product Lining Model-Driven Development Code Generators
This addresses the problem of inefficient and ad-hoc development of code generators for software engineers in model-driven development, but it is incremental as it builds on existing product line concepts.
The paper tackles the complexity and lack of systematic reuse in developing code generators for model-driven development by proposing a product line approach, identifying necessary mechanisms and presenting a component-based implementation as a first step.
A code generator systematically transforms compact models to detailed code. Today, code generation is regarded as an integral part of model-driven development (MDD). Despite its relevance, the development of code generators is an inherently complex task and common methodologies and architectures are lacking. Additionally, reuse and extension of existing code generators only exist on individual parts. A systematic development and reuse based on a code generator product line is still in its infancy. Thus, the aim of this paper is to identify the mechanism necessary for a code generator product line by (a) analyzing the common product line development approach and (b) mapping those to a code generator specific infrastructure. As a first step towards realizing a code generator product line infrastructure, we present a component-based implementation approach based on ideas of variability-aware module systems and point out further research challenges.