Towards modular code generators using symmetric language-aware aspects

Model-driven engineering, especially using domain-specific languages, allows constructing software from abstractions that are more closely fitted to the problem domain and that better hide technical details of the solution space. Code generation is used to produce executable code from these abstractions, which may result in individual concerns being scattered and tangled throughout the generated code. The challenge, then, becomes how to modularise the code-generator templates to avoid scattering and tangling of concerns within the templates themselves. This paper shows how symmetric, language-aware approaches to aspect orientation can be applied to code generation to improve modularisation support.

[1]  Douglas C. Schmidt,et al.  Constraint-Based Model Weaving , 2009, LNCS Trans. Aspect Oriented Softw. Dev..

[2]  Tom Mens,et al.  A State-of-the-Art Survey on Software Merging , 2002, IEEE Trans. Software Eng..

[3]  Sven Apel,et al.  FEATUREHOUSE: Language-independent, automated software composition , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[4]  Harold Ossher,et al.  Asymmetrically vs. Symmetrically Organized Paradigms for Software Composition , 2002 .

[5]  Iris Groher,et al.  Handling Variability in Model Transformations and Generators , 2007 .

[6]  Eelco Visser,et al.  Code generation by model transformation: a case study in transformation modularity , 2008, Software & Systems Modeling.

[7]  Richard F. Paige,et al.  The Epsilon Generation Language , 2008, ECMDA-FA.

[8]  E. Visser,et al.  Program Transformation Mechanics. A Classification of Mechanisms for Program Transformation with a Survey of Existing Transformation Systems , 2003 .

[9]  Steffen Zschaler,et al.  Symmetric Language-Aware Aspects for Modular Code Generators , 2011 .

[10]  Jean Bézivin,et al.  TCS:: a DSL for the specification of textual concrete syntaxes in model engineering , 2006, GPCE '06.

[11]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

[12]  Øystein Haugen,et al.  Higher-Order Transformations for Product Lines , 2007 .

[13]  Roy Grønmo,et al.  Toward Standardised Model to Text Transformations , 2005, ECMDA-FA.

[14]  Richard F. Paige,et al.  Model Migration with Epsilon Flock , 2010, ICMT@TOOLS.

[15]  Ruzanna Chitchyan,et al.  Semantic vs. syntactic compositions in aspect-oriented requirements engineering: an empirical study , 2009, AOSD '09.