Print Email Facebook Twitter Code generation by model transformation: A case study in transformation modularity Title Code generation by model transformation: A case study in transformation modularity Author Hemel, Z. Kats, L.C.L. Groenewegen, D.M. Viser, E. Faculty Electrical Engineering, Mathematics and Computer Science Department Software Technology Date 2009-11-06 Abstract The realization of model-driven software development requires effective techniques for implementing code generators for domain-specific languages. This paper identifies techniques for improving separation of concerns in the implementation of generators. The core technique is code generation by model transformation, that is, the generation of a structured representation (model) of the target program instead of plain text. This approach enables the transformation of code after generation, which in turn enables the extension of the target language with features that allow better modularity in code generation rules. The technique can also be applied to ‘internal code generation’ for the translation of high-level extensions of a DSL to lower-level constructswithin the sameDSL using model-to-model transformations. This paper refines our earlier description of code generation by model transformation with an improved architecture for the composition of model-to-model normalization rules, solving the problem of combining type analysis and transformation. Instead of coarse-grained stages that alternate between normalization and type analysis, we have developed a new style of type analysis that can be integrated with normalizing transformations in a fine-grained manner. The normalization strategy has a simple extension interface and integrates non-local, context-sensitive transformation rules. We have applied the techniques in a realistic case study of domain-specific language engineering, i.e. the code generator for WebDSL, using Stratego, a high-level transformation language that integrates model-to-model, model-to-code, and code-to-code transformations. Subject transformationtransformation engineeringterm rewritingwebapplication DSLcombination of analysis and transformation To reference this document use: http://resolver.tudelft.nl/uuid:48be4903-8349-4d04-b770-921a6bc30ceb DOI https://doi.org/10.1007/s10270-009-0136-1 Publisher Springer ISSN 1619-1366 Source Software and Systems Modeling, 9 (3), 2010 Part of collection Institutional Repository Document type journal article Rights (c) 2009 The Author(s). This article is published with open access at Springerlink.com Files PDF hemel.pdf 1.28 MB Close viewer /islandora/object/uuid:48be4903-8349-4d04-b770-921a6bc30ceb/datastream/OBJ/view