Domain-Specific Modeling: Enabling Full Code Generation - Kelly (IEEE, 2007)