UCM2PCM

Aus SDQ-Wiki
Palladio Addon (Liste)
Name UCM2PCM
Contacts
State Experimental
Is Stand-alone Analysis? No
Extends Analyses
Extends Metamodels
Code Location https://svnserver.informatik.kit.edu/i43/svn/stud/ChristianVogel/Diplomarbeit/Workspace

Short Summary

The UCM2PCM Transformation enables modeling a software system as UseCaseMap (UCM) and then automatically transform that UCM into a PCM model to do performance engineering.

Documentation

The UCM2PCM Transformation is still under construction. Do not use yet!

This page contains information about the UCM2PCM transformation. The transformation enables modeling a software system as UseCaseMap (UCM) and then automatically transform that UCM into a PCM model to do performance engineering.

For more details or questions contact Chris Vogel.

For Users

Getting Started With Creating a QVT-O Transformation in Eclipse

  1. Install Eclipse bundled with the EclipeModelingTools.
  2. All metamodels needed for the transformation have to be included in Eclipse as plugins.
    1. Create a new EMF Project
      • File->New->Project->Eclipse Modeling Framework->Empty EMF Project
    2. Copy metamodels to EMF Project
      • Copy all related ecore metamodels into the folder “model” of the new EMF Project
    3. Create new “EMF Generator model”
      • Context-Menu -> New -> Other -> Eclipse Modeling Framework -> EMF Generator Model
      • Import & load the desired metamodels
      • Select all included or referenced packages for the metamodel
    4. Generate metamodel plugin source code
      • Open the genmodel and select “Generate All” from the context menu of the root element
    5. Export the metamodel plugins
      • Open the plugin.xml and start the “Export Wizard” in the “Exporting” section
      • Select all projects related to the metamodel
      • Select the Eclipse folder as output (plugin folder will be created automatically) or move the created plugins into the plugin folder of Eclipse manually.
    6. Restart Eclipse
      • After the restart all exported metamodels should be registered in Eclipse and be visible in the “Metamodel Explorer" in "Platform”
  3. Usage of metamodels in QVT Project
    1. No metamodel mappings from workspace possible
      • Normally you can use the metamodels directly from the generated Eclipse projects. You can find the metamodels in the "Metamodel Explorer" in "Workspace". To use metamodels from workspace a metamodel mapping is neccessary. This can be done in the Project properties of the QVT project in QVT Settings -> Metamodel Mappings. Here the metamodels can be mapped to the used URI. Unfortunately this does not work correctly. For now it is only possible to use the metamodels from the exported plugins.
    2. Usage in transformation
      • All needed metamodels have to be included at the beginning of the transformations as follows:
      modeltype UCM uses ucm('http:///ucm.ecore');

Launch Configurations

The UCM2PCM Tool will take a UCM transforms it into a PCM instance and the automatically runs a simulation. Therefore we need our own Eclipse "Run Config" or "Debug Config", that allows us to specify all parameters and to easily execute all steps. A general documentation about this can be found on the Eclipse help website in the "Platform Plug-in Developer Guide" in chapter "Program Debug and Launch Support"

Troubleshooting

Problems with metamodels

If the metamodels are registered as plugins via the Plattform instead of Projects in the workspace then the transformation fails, if the source input model is changed. Even if only the coordinates of a model element in the graphical editor is changed. To use the transformation again, you have to restart Eclipse. If you use Eclipse 3.7 you can use the debug launch configuration instead of the run launch configuration. This works in any case!

Sometimes Eclipse seems to rebuild the code of the metamodel projects (the ones that include the genmodel). This can lead to the problem that Eclipse does not recognizes the metamodels any more