Generator systems still have a lot of room to improve, especially with respect to parameterization (which can in some instances be very comprehensive). First, the actual data a generator needs for its transformation task have to be technically prepared, read and processed. Next, you have to model the descriptive data of an application or a domain so that you can work with it. There are domain-specific languages (DSL) to solve this problem, as well as several techniques to describe the relevant properties of a domain gradually.
One technique sufficient for this task is feature modeling. A current feature modeling tool we can recommend is Captain Feature. In this case, a feature model is to be created first; this would be used as the foundation for the definition of the variation points of the code generator. This "variant model" is the linchpin of the code generation – and for the definition of a DSL.
The initial idea is that of directly deriving a DSL – i.e. automatically generating its definition – from a variant model. This approach should also enable the automatic creation of the parser component of a generator that can process this DSL. So the goal isn’t just to enhance efficiency by automating these tasks; just as – if not more – important is the ability to parameterize any number of generators in a standardized manner.
Delta Software Technology has already put this concept into practice with a tool: variant models are edited within HyperSenses or imported into HyperSenses via XMI, respectively. Thus, a DSL is already described on a semantic level. A concrete default syntax can be derived automatically. This can be adapted if desired. With the model as a foundation, a TextDSL generator implemented in ANGIE produces both the description of the actual DSL as an EBNF documentation and the implementation of the DSL by providing the parser for it. This is implemented in ANGIE, too. The output of the DSL parser is a HyperSenses configuration. Currently, this new TextDSL mechanism is one main topic of development activities at Delta Software Technology.