GECO: Generator Composition for Aspect-Oriented Generators
Reiner Jung · 2014
Increasing size and complexity of software projects have triggered the use of domain-specific languages (DSL). Multiple DSLs, some with cross-cutting concerns, are used to describe software systems. In context of long-living software systems, requirements change over time causing an evolution of domains and subsequently the corresponding DSLs. Transformations are used to generate models and code from these DSLs combining information from different cross-cutting concerns. Due to the changes, the development and evolution of these generators become cumbersome and error-prone. The proposed GECO approach addresses this issue by introducing guidelines and tooling to ease generator composition and evolution. Furthermore, it allows parts of code generators to be developed and evolved separately reducing the overall complexity of code generation. In addition GECO fosters the reuse of DSLs and their generators in different projects.