The IBM Rational Software Architect / Modeler (RSA/RSM) is a uml modeling tool. It's
based on Eclipse and the Eclipse's UML 2.0 project. The uml models stored in a special file
format. These model files have the file extension .emx, uml profiles are stored in files with
the extension .epx. The files from version 6.0 of RSA/RSM can be opened with a special
API only. With the introduction of version 7.0 the models and profiles can be opened
directly with the UML2 2.0 framework.
Usually RSA/RSM profiles are deployed in plugins, the referenced to these profiles are written with a special URI called pathmap (people working with Rational Rose might know this).
The RSA/RSM adapter brings the functionality of the UML2 adapter written by Sven to
RSA/RSM. The adapter for oAW is available since version 4.1. It is based upon Eclipse's
UML2 2.0 framework and provides a type mapping from the UML 2.1 metamodel
implementation to the oAW type system. Hence one can access the whole UML2
metamodel from Check, Xtend and Xpand. Additionally and more important the adapter
dynamically maps stereotypes, stored in RSA/RSM specific model files (.epx), which are
applied to model elements to oAW types and stereotype properties (TaggedValues) to
oAW properties. You don't have to implement additional Java classes anymore. Just export
your models and applied profiles. That's all!
Using the RSA/RSM adapter with Eclipse, you first need to install the UML2 feature from Eclipse.org.
http://download.eclipse.org/tools/uml2/updates/site-interim.xml
The oAW uml2adapter is available from the oAW updatesite:
http://www.openarchitectureware.org/updatesite/milestone/site.xml
(Go to the project's homepage and find the current location if either of the sites don't work)
Restart your Eclipse workbench when Eclipse asks you to do so.
You need to configure your project (or the whole workspace) to use the RSA/RSM adapter.
Right click on the project and choose 'properties' from the pop-up menu. Open the 'openArchitectureWare'-tab, activate the checkboxes (nature and specific metamodel contributors) and add the RSA/RSM Profiles metamodel contributor.
All profiles installed in plugins using the com.ibm.xtools.uml2.msl.UMLProfiles
extension point, are added as metamodels (for more information about creating your own
profiles with RSA/RSM see help for „Extending Rational Software Modeler
functionality“ ) .
At runtime you just need the org.openarchitectureware.rsdp.adapter-4.1.0.jar. You can use Eclipse's dependency mechanism from the PDE (as described in the installation section on the getting started page), or copy or reference the respective jar directly. It doesn't matter, you just have to take care that it is on the classpath.
If you have written some Check, Xtend or Xpand files and now want to execute them you have to provide the right configuration.
You need to configure the UML2 metamodel and a profile metamodel for each profile you used directly. A typical configuration looks like this:
<workflow>
<property
name="umlmda.profile.plugin.path"
value="C:/winapp/eclipse/v3.2/UMLMDA/eclipse/plugins/org.umlmda.u
ml2.profile_2.0.0"/>
<!-- initializes resourcemaps, urimaps, etc. -->
<component
class="org.openarchitectureware.rsdp.workflow.RSASetup" >
<pathMapEntry>
<alias value="UMLMDA_PROFILE"/>
<path value="${umlmda.profile.plugin.path}/profiles"/>
</pathMapEntry>
<init value="true"/>
</component>
<component class="oaw.emf.XmiReader">
...
</component>
<component class="oaw.xpand2.Generator">
<metaModel class="oaw.uml2.UML2MetaModel"/>
<metaModel class="oaw.uml2.profile.ProfileMetaModel">
<profile value="pathmap://UMLMDA_PROFILE/UMLMDAProfile.epx"/>
</metaModel>
...
</component>
<workflow>
If the RSA/RSM profiles are installed in a workspace project rather in a plugin, it can be accessed with a workflow below:
<workflow>
<property
name="umlmda.profile.project.path"
value="C:/devel/umlmda.rsm7/org.umlmda.uml2.profile"/>
<!-- initializes resourcemaps, urimaps, etc. -->
<component
class="org.openarchitectureware.rsdp.workflow.RSASetup" >
<umlExtensionProject
class="org.openarchitectureware.rsdp.workflow.UmlExtensionProje
ct">
<projectName value="UMLMDAProfile"/>
<path value="${umlmda.profile.project.path}"/>
</umlExtensionProject>
<init value="true"/>
</component>
<component class="oaw.emf.XmiReader">
<modelFile value="${model}"/>
<outputSlot value="model"/>
</component>
<component class="oaw.xpand2.Generator" skipOnErrors="true">
<metaModel class="oaw.type.emf.EmfMetaModel"
metaModelPackage="org.eclipse.emf.ecore.EcorePackage"/>
<metaModel class="oaw.uml2.UML2MetaModel"/>
<metaModel class="oaw.uml2.profile.ProfileMetaModel">
<profile
value="file://${umlmda.profile.project.path}/profiles/UMLMDAP
rofile.epx"/>
</metaModel>
...
</component>