Model-Aware Generation
Generate code with an explicit simulacrum of the semantic model of the DSL, so that the generated code has generic-specific separation.
When you generate code, you embed within that code the semantics of the DSL script. By using a Model-Aware Generation, you replicate some form of the Semantic Model in the generated code in order to preserve the separation of generic and specific code within the generated code.
For more details see chapter 55 of the DSL book