Authors:
Pedram Mir Seyed Nazari
and
Bernhard Rumpe
Affiliation:
RWTH Aachen University, Germany
Keyword(s):
Model-driven Development, Code Generators, Software Categories.
Related
Ontology
Subjects/Areas/Topics:
Agile Model-Driven Development
;
Applications and Software Development
;
Generative Programming
;
Methodologies, Processes and Platforms
;
Model Transformations and Generative Approaches
;
Model-Driven Software Development
;
Software Engineering
Abstract:
In model-driven development (MDD) software emerges by systematically transforming abstract models to
concrete source code. Ideally, performing those transformations is to a large extent the task of code generators.
One approach for developing a new code generator is to write a reference implementation and separate it into
handwritten and generatable code. Typically, the generator developer manually performs this separation —
a process that is often time-consuming, labor-intensive, difficult to maintain and may produce more code
than necessary. Software categories provide a way for separating code into designated parts with defined
dependencies, for example, “Business Logic” code that may not directly use “Technical” code. This paper
presents an approach that uses the concept of software categories to semi-automatically determine candidates
for generated code. The main idea is to iteratively derive the categories for uncategorized code from the
dependencies of categorized code. The ca
ndidates for generated or handwritten code finally are code parts
belonging to specific (previously defined) categories. This approach helps the generator developer in finding
candidates for generated code more easily and systematically than searching by hand and is a step towards
tool-supported development of generative software.
(More)