Deutsch (DE-CH-AT)English (EN)Francais (Fr)
Home News Newsletter GP-Letter 2005 Ausgabe 23 Model-Driven Generator Development

Hot Topic:
Model-Driven Generator Development

OBJEKTspektrumApart from pure automation, generators are especially useful to implement different levels of abstraction. For this reason the implementation of software product lines and domain-oriented interfaces is definitely a subject at the center of current discussions. In practice, there is no alternative to a model-based approach to achieve these ambitious goals. “Model-Driven Generator Development” is the title of an article from Cord Giese and Rüdiger Schilling (the article is currently only available in German), which provides an in-depth analysis of this subject. The article is published in the current issue (No. 3 / 2005) of the professional journal OBJEKTspektrum. As a real-world example for the support of model-driven generator development, it presents the HyperSenses technology developed by Delta. But first things first – what exactly is the motivation for the model-driven development of generators?

Within the area of software development, generators are used to automate programming tasks and to implement higher levels of abstraction. While “automation” is the core task of any generator, it is at the implementation of higher, domain-oriented abstraction levels that the wheat is separated from the chaff! Such generators no longer are simple filters or converters, but are adapted for an application domain or – in the ideal case – are adaptable. The increased level of adaptability is accompanied by an extension of the potential usage area – therefore, a maximum of adaptability is the goal.

SIGS-Datacom

Another goal is the reduction in the effort for a generator’s implementation. The ideal case would to avoid entirely manual programming. Therefore, tool support is necessary, support that also provides a platform for the required domain orientation. A clean definition of the variabilities implemented by a generator is a pre-requisite. This is usually defined by variability models, which can be constructed using a range of techniques. The FODA (Feature-Oriented Domain Analysis) method or the OMG UML may be used for this task, for example.

If a variability model has been defined, it could serve as a platform for the definition of configuration elements as well as for the definition (not programming!) of fragments of source code that are to be generated. At this point it is quite important that several views for the configuration data of a generation are provided – the source code to be generated is only one, among many others. In particular, the required domain-oriented views may also be implemented.

OBJEKTspektrum

At the center of these concepts is the clean separation of the variability model, the configuration data and the different views on them. This approach leads to a strictly model-based process, which is outlined in detail in the article by means of an example for the HyperSenses technology. Altogether it is notable that the development of generators has become a subject area in its own right in the meantime. The appropriate techniques are continually advancing. Model-based concepts mark the summit of this trend for the present. To get more detailed information please read the article.

The article is available on the SIGS-Datacom Web site (in German):
http://www.sigs-datacom.de/sd/publications/pub_article_show.htm?&AID=1577&TABLE=sd_articlegotw.ca/publications/concurrency-ddj.htm

The PDF version is available here: Model-Driven Generator Development

 
Related Infos
Newsletter
Quotes
"The new user interface in SCOUT² makes our developers more productive."
Silvio Hasler
CIO
MIAG C.V., Baar, Switzerland

MIAG C.V., Baar Case Study

Bookmark and Share