[galileo] Preparing Migration oaw4 –> oaw5 (MagicDraw)

openArchitectureWare WorkingGroup at EclipseopenArchitectureWare moved to Eclipse Modeling as part of Galileo release. This blog series reports my experiences to migrate a huge oaw4 project. This is part 4  – you’ll find an overview of this blog series here.

oaw4 means openArchitectureWare 4.3.1oaw5 means MWE (EMFT) + Xpand (M2T) + Xtext (TMF) – more infos at oaw WorkingGroup.

This blog part is only useful for you if you’re working with UML – and also using MagicDraw as your UML tool. One Use-Case in my projects is the use of UML2 together with EMF: a Model to Model transformation (M2M) generates EMF Models (for Riena – SWT – Views) from UML2 Classdiagram (Entity) + JPA Persistence Profile. These EMF models are dynamically rendered from redView (Riena EMF Dynamic Views for Business Applications – an Open Source tool coming soon). openArchitectureWare is used for M2M and also to generate java code and more.

oaw – MagicDraw integration

MagicDraw can be easy integrated into oaw workflows as components:

oaw4:

<component class="com.nomagic.magicdraw.oaw.eclipse.plugins.oaw.ExportWorkflowComponent"
     		magicdrawHome="${md.home.path}"
     		projectFile ="${md.my.project}"
			exportDirectory="${md.my.export.dir}"
			skipUpToDate= "${skipUpToDate}"
			requiredVersion="2.x"/>

This integration makes it easy to work with UML – if you change something in UML, the next time your workflow runs the model was automatically exported:

md export xmi log

This is also very useful for continuous builds – setting skipUpToDate=false and you know that all your models are exported.

You need two jar files from MagicDraw:

  • launcher.jar (found at MagicDraw/lib)
  • oawplugin_api.jar (found at MagicDraw/plugins/eclipse/plugins/com.nomagic.magicdraw.oaw)

In my workspace I’m using an oaw4 – magicdraw – project:

md oaw4 project

This project has no dependencies and exports one package:

md oaw4 project exported packages

My oaw4 cartridge projects import this package.

oaw5:

This solution doesn’t work out-of-the-box for oaw5, because the namespace of Interfaces and Classes has changed.

Nomagic – the supplier of MagicDraw is working on a solution and hopefully next week I can update this blog entry and explain how it will work under oaw5.

workaround in the meantime: you have to export manually from MagicDraw:

md oaw5 workaround

A mentioned above I’ll blog an update as soon as MagicDraw provides an oaw5 Update.

Now we have done all inside our oaw4 projects – lets install oaw5 and migrate. stay tuned… the next blogs will follow.

One response

  1. Thanks to Nomagic they built a jarfile to use oaw5 and MagicDraw openArchitectureWare Integration.
    you can download this Jarfile from here: http://files.me.com/ekkehard.gentz/oyghwz

    Then your oaw5 – magicdraw – project will look the same as the oaw4 – magicdraw project described above:
    Exports the same Packages
    includes jarfile mweplugin_api.jar (instead of oawplugin_jar)

    This works with MagicDraw 16.5 – the Launcher.jar will be the same as with oaw4.

Leave a comment