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'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!

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

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

Figure 56. 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. 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.

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