Daniel Fath
Daniel Fath

Reputation: 18119

What has been done in the field of versioning models?

We had a rather nice lecture about Model driven architecture by a guy from Model Labs. One thing that got me intrigued was the version control for models ( not to be confused with different models of version control) - or the lack of thereof. By version control for models he meant a way to version XML, EMF files which preserves their semantic.

So, I'm interested in what has been done so far on that field (he mentioned something about SVN and Moodle, though I could have misheard him). The Google search yielded nothing so I'm turning to the wisdom of the Stack Overflow.

I'm looking mostly for information in the form of books, articles, links.

Upvotes: 2

Views: 161

Answers (3)

Vladimir Vaschenko
Vladimir Vaschenko

Reputation: 586

Check EMF framework Edapt

it provides the following features:

Edapt IDE Tooling:

  • Ecore Editor enhancement to create and maintain the history of an Ecore
  • Operation-browser to execute refactorings on an Ecore
  • Release Tooling to prepare a migration plugin from the Ecore history
  • Custom Migration Support

Edapt Runtime:

  • API to detect version of given model instances
  • API to migrate model instances with registered migration plugins

Upvotes: 0

Jordi Cabot
Jordi Cabot

Reputation: 8238

A full list of version control tools for models can be found here: http://modeling-languages.com/content/version-control-tools-modeling-artifacts

Upvotes: 1

VonC
VonC

Reputation: 1329952

I don't know of a VCS alone dedicated to Model, because Model-base design is often part of a all chain of documents that need to be kept in sync.
Namely (not an exhaustive list):

  • requirements documents (from which you start modeling)
  • source code and documentations (generated and implemented from the model)

Plus, I never saw the GUI aspect fully solved in those tools (one model painstakingly organized a certain way might be versioned without layout information, and restored organized another way).

One tool I know of which covers all of those development processes is Modelio, which includes a "teamwork manager"

alt text


Another example (which I don't know as much about) would be metaCASE, which has an interesting paper "The Model Repository: More than just XML under version control", about DSM (Domain-Specific Modeling).

DSM: model-based software development approach that uses visual models as primary artifacts in the development process.
DSM raises the level of abstraction beyond normal programming languages by directly specifying the solution in a language that uses concepts and rules from the problem domain – a Domain-Specific Language (DSL).

It does summarize the problem:

There is increased awareness within the modeling arena of the need for a central repository of system description information.
This is brought on by a growing recognition that only with a strong central repository can modeling tools be integrated, cope with large projects, provide full life-cycle support, produce complete documentation, perform system-wide validation and verification, and adequately control a project.

Upvotes: 2

Related Questions