GECO is an approach aiming to support generator composition for projects utilizing multiple DSLs. It provides methods, techniques and approaches for at two levels of abstraction. First, it provides simple mega model pattern to guide the combination of small generators and transformation which make up the architecture of the complete generation facility. And second, it provides a modularization scheme for generators along functional (e.g., model query, aggregate evaluation, and output generation) and meta-model structural features (e.g., typing, expressions, statements and structure).
The GECO approach is evaluated with two main evaluation scenarios. One based on CoCoME which is also used in iObserve and the whole DFG Priority Programme 1593 to evaluate different approaches in the area of long living software systems. And the other is a set of domain specific languages tailored for the embedded systems domain, specifically for railway control centers.
The generator code was analyzed with our hypergraph based complexity analysis tool (git rev revision-2) which constructs a hypergraph from Java source code and calculates size, complexity, coupling and cohesion values for the hypergraph. In addition, it computes the cyclomatic complexity of all methods and aggregates them in a histogram.