Architecture

The architecture of MoVE is based on a flexible design that is supported by plugins and adapters. To implement  the basic feature model versioning for UML models, SVN is used as an infrastructure to provide versioning and a secure communication protocol.
Basically MoVE consists of two parts: The MoVE-Server and the MoVE-Client. Each of these parts consists of  exchangeable components to add functionality to MoVE.

 

MoVE-Server

The architecture of the MoVE-Server is designed as a small base package and a combination of plugins. The core package of MoVE implements a version control system for models using the classical Subversion and extended it for the use with models.

We implemented a set of plugins to enhance the MoVE  functionality.
Two examples are:

  • Consistency Plugin: The task of this plugin is to check consistency of instance models and the common Metamodel.
  • Statemachine Plugin: It supports all principles concerned state changes and change propagation.
The MoVE-Server provides a simple interface that allows rapid plugin development and comes with a simple configuration facility.

MoVE-Client

The MoVE-Client is the central model versioning component of MoVE on the client-side. With the help of adapters the MoVE-Client integrates into modeling tools such as Magic Draw or Eclipse and supports check-out, commit and update operations on models. We also implemented a merge functionality, which extends EMF Compare, that allows to compare and merge UML models with the help of a graphical user interface.