feasiPLe Logo

Forschungsprojekt feasiPLe

Feature-getriebene, aspektorientierte und modellgetriebene Produktlinienentwicklung

Linking generated and manually written artefacts

One big problem in Model-Driven Software Development (MDSD) is that generated artefacts are otfen incomplete for use in practical scenarios. This stems mainly fom the raised level of abstraction in Domain-Specific Languages (DSLs), which is achieved with a much more compact set of concepts and relations, compared to a General Purpose Language (GPL) like Java. To fill the gap between abstract domain-specific concepts and executable GPL code, MDSD applies generators that map from DSLs to their GPL pendants. Unfortunately, this mapping is rather rigid and does not allow any adjustments or modifications like they are often necessary in pratical use cases.

In MDSD and in feasiPLe we need concepts that allow the developer to introduce manually written changes into generated code and to ensure that these modifications remain intact after regeneration.

Protected Regions and Unprotected Blocks

One possibility to alleviate the above stated problem is the application of so-called protected regions [oAW] or unprotected blocks [MOFScript]. Both concepts describe and implement sections in generated code that allow the developer to introduce changes, which are preserved at regeneration. To create such secure sections the corresponding generator engine provides appropriate directives useable in generator templates.

Secure sections, such as protected regions or unprotected blocks, are one means to link generated and manually written code. Which other possibilities or technologies exist to solve this problem and how secure sections can be introduced in the development process for software product lines respectively, is subject to elaborations within the feasiPLe project.


[oAW]           openArchitectureWare.org - Official openArchitectureWare Homepage; http://www.openarchitectureware.org/
[MOFScript]   MOFScript Documentation; http://www.eclipse.org/gmt/mofscript/doc/

Back to the feasiPLe Architecture