Map Rational Rose constructs to Rational Rhapsody elements

The following table shows how various IBM® Rational Rose® constructs and options map into a IBM Rational® Rhapsody® model. For ease of use, the Rational Rose elements are listed in alphabetic order.

Table 1. List of constructs and options and how they map into a Rational Rhapsody model
Rational Rose Element or Option Rational Rhapsody Element Notes
Abstract class   Not imported.
Action Action  
Activity diagram Activity diagram  
Actor Actor  
Anchor note to item Anchor  
Association Link, linktype = association See Imported association classes.
Cardinality of classes Part Class cardinality refers to the number of instances of a class that can be created at run time. A class with exactly one instance has a cardinality of one.

In Rational Rhapsody, the cardinality of a class is referred to as its multiplicity. The Multiplicity field reflects the cardinality of the class in the original Rational Rose model.

Category Package  
CategoryDependency Dependency  
Class Class  
Class type Type = class All types of classes are mapped to classes.
ClassifierRoles ClassifierRoles  
Collaboration diagram Collaboration diagram Not imported.
Component Package Package  
Component Component Since Rational Rhapsody does not allow components to be contained in packages, any imported components will be included under the project level.
Component diagram Component diagram  
Concurrency—sequential, active, guarded, or synchronous Concurrency—sequential or active Operation concurrency is not imported.
Condition Guard  
Constraints   Not imported.
Containment—by value, reference, unspecified   Not imported.
Dependency (UCD) Dependency  
Deployment diagram Deployment diagram Not imported.
Derived attributes and relations   Not imported.
End state Activity final  
Event Event Events trigger transitions from one state to another. Events are imported as classes whose behavior includes triggering state transitions.
Export control   Not imported.
Friend Property  
Global package   Not imported.
HasRelationship Link, linktype = aggregation  
Inheritance (use cases) Inheritance  
InheritRelationship SuperClass, superevent  
Initial value of attribute   Not imported.
Interface Class Interface classes are imported into Rational Rhapsody as classes with virtual operations.
IsConstant (Rational Rose property)   Not imported.
Link Attribute   Not imported.
Link Element   Not imported.
Messages Messages  
Multiplicity of relations Multiplicity  
Navigable relation Feature (from class to class) In Rational Rhapsody, you cannot add a Navigable feature if there is a navigation (cannot have both Navigable and aggregation).
Nested class   Not imported.
Note Note  
Operation type—virtual, static, friend, abstract, common Virtual, static  
OperationIsConst (Rational Rose property)   Not imported.
Parameter Argument  
Persistence   Not imported.
Private implementation Private implementation  
Protected implementation Protected implementation  
Public implementation Public implementation  
Qualifier/keys Qualifier In Rational Rose, a qualifier might not be a class attribute. In Rational Rhapsody, a qualifier must be a class attribute.

Rational Rhapsody approximates qualifiers depending on whether they are also attributes in Rational Rose. If the qualifier is an attribute in Rational Rose, it is mapped to an attribute in Rational Rhapsody. Otherwise, Rational Rhapsody creates an attribute, adds it to the class, and makes it the qualifier.

Rational Rose allows multiple qualifiers, whereas Rational Rhapsody allows only one. Therefore, when you import an association with multiple qualifiers, Rational Rhapsody randomly takes the first one it sees.

Qualifier type Attribute If the qualifier is not a class attribute, create the attribute.
Relation MetaLink

Relations in use case diagrams are imported as relations.

Abstract class.
Relation type—by value, by reference, unspecified All three types map to By reference.  
RealizeRelation SuperClass  
Role Role  
Send argument Action  
Send event Action  
Send target Action The Rational Rose Send event/argument/target are mapped to the Rational Rhapsody action using the following format:

Sendtarget->GEN(
Sendevent(
Sendarguments))

Sequence diagram Sequence diagram When Rational Rhapsody imports sequence diagrams from Rational Rose, the Rational Rose ClassifierRoles are converted to Rational Rhapsody ClassifierRoles and Classifiers, and messages are converted to actual operations on the target (receiving) class.
Space of class   Not imported.
Start state Initial Connector Combined with outgoing transition.
State State If there is more than one view for a single state in Rational Rose, when imported into Rational Rhapsody, the additional views will be converted into new states in the model with the same characteristics (like you would get with the Copy with Model feature). The name will indicate that it is a new state, but the label will be the same.
Static attributes Static attributes  
Static relation Static (relation is a static class member)  
Stereotype   Not imported.
Substate State (with parent) If there is more than one view for a single substate in Rational Rose, when imported into Rational Rhapsody, the additional views will be converted into new substates in the model with the same characteristics (like you would get with the Copy with Model feature). The name will indicate that it is a new substate, but the label will be the same.
Templates and template instantiations Templates and template instantiations  
Text box Note Same as object model.
Transition Transition The format for a control flow in the diagram is as follows:
<Event>[<Guard>]/<Action> 

If there is more than one view for a single transition in Rational Rose, when imported into Rational Rhapsody, the additional views will be converted into new transitions in the model with the same characteristics (like you would get with the Copy with Model feature). The name will indicate that it is a new transition, but the label will be the same.

Types—predefined (such as int or float), user-defined, or class. Type When you create a user-defined type in Rational Rose, you can give it a name but no declaration. Rational Rhapsody approximates a user-defined type by adding an on-the-fly type that uses the new type name as the declaration for the type.

In Rational Rose, you can also assign a class type, such as ParameterizedClass or InstantiatedClass. Rational Rhapsody approximates class types by creating an on-the-fly type using the class as the declaration for the type.

Use cases Use cases  
UseRelation (ClassDependency) Dependency between packages is saved only in the graphical interface.  

Imported association classes

If a class does not have associations or a statechart, it is imported as an association class; otherwise, it is imported as a regular class.

Consider the following hospital model:

Hospital model

In this example, Visit Record is a class associated to the Hospital_Patient association. Therefore, it could be imported as association class.

If the Visit Record class has a statechart or associations with other classes, it will not be imported as an association class, but will be imported as a class. As shown in the figure, because Visit Record has an association with class Bill, it will be imported as a regular class. However, the association Hospital_Patient will have a hyperlink to this class.

If Visit Record does not have associations or a statechart, it is imported as association class. That means:

  • The name of the association Hospital_Patient will be Visit Record.
  • The attributes and operations of Visit Record will be displayed under the association class.

Feedback