The IBM Rational Software Architect / Modeler (RSA/RSM) is a UML
modeling tool. It is based on Eclipse and the 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 the 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. Furthermore, stereotype
properties (tagged values) are mapped to oAW properties. You do not 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 update site:
http://www.openarchitectureware.org/updatesite/milestone/site.xml
(Go to the home page of the project and find the current location if either of the sites do not 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 check boxes (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
(or
later). You can use the dependency of Eclipse mechanism from the PDE, or
copy or reference the respective JAR file directly. It does not 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.3.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>