RSM/RSA Adapter

Introduction
Installation
Setting up IBM Rational Software Architect / Modeller

Introduction

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!

Installation

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.

Setting up IBM Rational Software Architect / Modeller

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") .

Figure 28. Project properties with RSA/RSM profiles added

Project properties with RSA/RSM profiles added


Runtime Configuration

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.

Workflow using profiles from plugins

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>

Workflow using profiles from workspace projects

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>

Future enhancements

The next version of the RSA/RSM adapter will support profiles found in the classpath of the generator project. In addition, profiles can be added more selectively.