O'Reilly logo

Model-Driven Software Development: Technology, Engineering, Management by Bettina von Stockfleth, Krzysztof Czarnecki, Simon Helsen, Arno Haase, Jorn Bettin, Markus Völter, Thomas Stahl

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 15

Versioning

Efficient versioning and configuration management are always important in software development projects. In this chapter we discuss only those MDSD-specific characteristics of this topic.

15.1 What Is Versioned?

In an MDSD project, the following aspects must be managed or versioned:

  • The (generic) generation tools. Currently, these tools are often still in development themselves – because of this, it makes sense to have them under version control.
  • The generator configuration, the generative part of the domain architecture. This includes the DSL/profile definition, metamodel, templates, and transformations.
  • The non-generative part of the domain architecture, the MDSD platform.
  • The application itself: models, specifications, and (in most cases) manually-developed code.

The generated code ideally is not versioned, because it is reproducable from the model at any given time, and thus does not constitute a real program source. Of course, this idea can be applied sensibly only if the manually-created and the generated code are separated structurally in the file system. This is one reason why we value this separation (see Section 8.2.6). In practice, it is not always 100% possible or useful, so we sometimes need a more complex procedure for such cases. We discuss this later in this chapter.

One of the goals of model-driven development is the development of several applications based on the same domain architecture. It is therefore essential to separate the platform ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required