Dr. José Raúl Romero Salguero
home   back  
xODP: Experimental edition
Download Correspondences management Quick prototyping References


The experimental edition is available for download. You may find a brief explanation on its features below. Nevertheless, notice that this software is not intended to be used by non-expert users. Thus, no further information on these subjects is given, since these functionalities are strictly based on specific research aspects. If you are not familiar with this research, we recommend you to download the full edition instead.

Before installing this plugin, consider that this edition has been checked in MD v16.8 under the Windows operating system.


Correspondences management

The UML4ODP standard provides one way to represent correspondences, by means of UML classes stereotyped as <<CorrespondenceLink>>. It has some drawbacks when the modeller has to draw hundreds (or thousands) or correspondences in a model, or has to visualize them, which becomes tedious and cumbersome. This experimental edition has developed the proposal presented in [1], where two additional alternative ways to specify and represent correspondences are explored: intensionally, as QVT statements, and extensionally, as UML dependencies.

To install this feature, no third-party installations are required. It makes use of QVT transformations for intensional correspondences, being the QVT Medini engine executed to generate the trace links and complete the process. This engine is already provided embedded in this distribution.

If you want to make use of this feature, please proceed as explained next.

Creation of extensional correspondences from intensional specifications:
  1. Click on the "Correspondences > Generate traces from intensional correspondences" menu.

    Figure 1

  2. To fill the form introduce the following information (Figure 2):
    • The QVT file defining the intensional correspondence.
    • The folder where traces generated will be stored.
    • The folder where the models were exported (in EMF-UML2 v2.x XMI format).

    Figure 2

  3. Once the transformation is complete, the traces are shown in the Messages Window, as extracted from the QVT engine.

    Figure 3

    Next, click on the "Correspondences > Generate extensional correspondences from traces" menu.

    Figure 4

  4. Introduce the path and file name of the traces file previously generated. Press the "Generate" button.

    Figure 5

  5. Once the generation process is over, the diagram comprising the extensional valid correspondences for the previous intensional definition is depicted.

    Figure 6

Visualization of correspondences as UML Dependency and other features:
  • To visualize correspondences as UML dependencies (Figure 8), just click on the "Correspondences > Show CorrespondenceLinks as UML Dependencies" menu.

    Figure 7

    Figure 8

  • If you want to create or modify your intensional specifications, you may also use a simple QVT editor (Figure 10) by click on the "Correspondences > Manage extensional correspondences" menu (Figure 9).

    Figure 9

    Figure 10


Quick prototyping using Maude

Quick prototyping allows the designer to generate an early prototype in Maude, which serves to execute and simulate the system behaviour using its model-checker and toolkit. This code is obtained after performing and sequencing M2M and M2T transformations, specifically focused on the UML4ODP specifications [2] of the computational viewpoint, as explained in [3]. In this way, modellers can conduct initial tests about the system, detect early errors and reveal some design anomalies, especially those related to the dynamic behaviour of the system.

For this experimental edition, Maude for Windows is used. This software can be downloaded from the Maude website and compiled under your specific Windows version, or can be also downloaded from the Moment Project website and installed as a regular Windows application, before running the prototype. It was tested with Full Maude version 2.0.1.

In short, the Maude specification code is simulated once xODP performs a number of ordered steps:
  • The UML4ODP-CV specifications are transformed (M2M) into a Maude model. These transformations are defined in ATL.
  • The Maude model is transformed (M2T) to Maude code using ATL too. Notice that many other alternatives are available to properly perform these M2T transformations (e.g. MOFscript), but it would increase dependencies, and hamper the xODP's scalability and maintability. Remember that it is an experimental edition, focused on research aspects.
  • Using the source code generated by xODP after finishing the transformation process (M2M and M2T), the ODP-CV specifications in Maude are launched by connecting to the Maude model-checker. Any connection to ATL or Maude is transparent for the user.
Thus, if you want to make it work, please proceed as explained next.
  1. Click on the "Model execution > Execute models" menu.

    Figure 1

  2. A window will show the progress.

    Figure 2

  3. Once the ODP-CV specification in Maude is obtained, the modeller may specify the initial system configuration that the Maude model-checker will consider for the dynamic simulation. Any other modification to the code is also allowed before proceeding, so the modeller can check several configurations or execute different case studies. A simple editor is provided.
  4. Press the "run system" button (depicted as a gear mechanism) and wait for the simulation result.

    Figure 3

  5. The resulting report captured from the interaction with the Maude toolkit is displayed by xODP. Any error is also shown in the report.

    Figure 4a - Successful process    Figure 4b - Wrong result



  1. Romero, J.R., Jaén, J.I., and Vallecillo, A. Realizing Correspondences in Multi-Viewpoint Specifications. In Proc. of the 13th IEEE International Enterprise Distributed Object Computing Conference (EDOC 2009), IEEE CS. Auckland, New Zealand, September 2009.
  2. Romero, J.R., Troya, J.M., Vallecillo, A. Modeling ODP Computacional Specifications using UML. The Computer Journal, 51(4):435-450, 2008.
  3. Romero, J.R., Durán, F., and Vallecillo, A. Writing and Executing ODP Computational Viewpoint Specifications using Maude. Computer Standard and Interfaces, 29(4):481-498, 2007.