This documentation talks about the import of models created with the software IBM Rational Rhapsody into Papyrus. IBM Rational Rhapsody is developed by the IBM company. In this documentation, we reference this software as Rhapsody.
The migration tool has been developed with IBM Rhapsody 8.0.3. Nevertheless, it should work with previous and next versions.
Currently, the Papyrus Rpy Interoperability Tools has been developed for Rhapsody SysML models. It doesn't yet cover the whole Rhapsody elements in its transformation.
Papyrus migration tools allows to import Rhapsody models as UML Model. Some Rhapsody elements can be mapped on different UML elements depending on their context, the stereotypes applied on them, the value of a given feature and so on. Here, this table give you the supported Rhapsody Semantic Object and their possible mapping used to create the UML model.
| Rhapsody Element | UML Element |
|---|---|
| DefaultSubsystemType | Package |
| IAction | OpaqueBehavior |
| IActor | Actor |
| IArgument | Property |
| IArgument | Parameter |
| IAssociationEnd | Association |
| IAssociationEnd | Property |
| IAttribute | Property |
| IClass | Interface |
| IClass | Class |
| IComment | Comment |
| IDefaultDrvdTrans | Vertex |
| IDescription | Comment |
| IEnumerationLiteral | EnumerationLiteral |
| IEvent | SignalEvent |
| IEvent | Signal |
| IGeneralization | Generalization |
| IGuard | Constraint |
| IInformationFlow | Connector |
| IInterfaceItemTrigger | Trigger |
| IObjectLink | Connector |
| IObjectLink | ConnectorEnd |
| IPart | Property |
| IPart | Association |
| IPrimitiveOperation | Operation |
| IProject | Model |
| IReception | Reception |
| IRelation | Property |
| IRelation | Port |
| IState | State |
| IStateChart | StateMachine |
| ITransition | Transition |
| IType | UML Primitives Types |
| IType | DataType |
| IType | Enumeration |
| IType | InstanceSpecification |
| IType | Class |
| IVariable | Designer |
The Rhapsody SysML Stereotypes are mapped with SysML 1.1 stereotypes provided by Papyrus. The following stereotypes are supported (not complete list).
| SysML 1.1 Stereotype |
|---|
| BindingConnector |
| Block |
| ConstraintBlock |
| ConstraintProperty |
| Dimension |
| FlowPort |
| FlowPort |
| FlowProperty |
| FlowSpecification |
| NestedConnectorEnd |
| Unit |
| ValueType |
If you defined Label in addition of the name for your objects in the Rhapsody model, Papyrus migrate them too in a property file. You will be able to switch between displaying name and label with the Internationalization feature provided by Papyrus.
Firstly, of course, you need to have a Rhapsody Model, like this one:
Import the full Rhapsody model in our Eclipse Workspace as shown in the image.
Go to the menu Import Wizard > Papyrus > Papyrus SysML Models, then Next.
Here, you select a file, a folder or a set of folder to import one or several Rhapsody models in the same time, then Next.
You select the *rpy files to import. You can set the number of threads to use (useful to import several models in the same time), then Finish. It runs the transformation.
And now you get the imported model, in a subfolder called output/yourRhapsodyProjectName. In this folder you will found: In it, you will find the Papyrus model, with these files:
If you are in the Project Explorer, a shortest method allows you to import a selected *.rpy file, doing Right-Click > Import SysML Rhapsody Model.
The goal of the Papyrus Rpy Interoperability feature is to provide the same display for a given Rhapsody Diagram and its equivalent in Papyrus. As the CSS stylesheet can impact the display of the diagram, our transformation process add a specific information to each imported display property to bypass CSS renderer. Technically we add an EAnnotation named PapyrusCSSForceValue to ignore CSS value. All CSS customizations can be impacted, like connector routing or compartment visibility.