Integrations (PTC products, 3rd party products and code) > 3rd party product integrations (CM, DOORS, Rose, Simulink and XML) > Connector for IBM Rational Rose > Items and diagram mappings > Class diagram mappings (Connector for IBM Rational Rose)
  
Class diagram mappings (Connector for IBM Rational Rose)
Each selected Class Diagram is created as a Class Diagram in Modeler. The name of the Class Diagram is derived from the Package and Class Diagram names in Rose:
<package name>::<class diagram name>
The items on the Class Diagram are imported as follows.
Actor
Each Actor is created as an Actor in Modeler.
If the Actor is stereotyped by the Business Actor stereotype in the Rose model, the imported Actor is stereotyped by the «Business Actor» stereotype in Modeler. The «Business Actor» stereotype makes the Actor look similar to a Business Actor in Rose.
The following properties are imported.
Rose Property
Modeler Property
Documentation
Description
Name
Name
Association
Each Association is created as an Association in Modeler. The following properties are imported.
Rose Property
Modeler Property
Derived
Derived property of the Start Role and End Role.
Documentation
Description
Name
Name.
If the Name includes a colon, the colon and any text that follows it is not imported because the Modeler code generators generate this information.
If the Rose Name is blank, the Modeler Name is set to 'associates'.
Role A Name
Start Role. Creates a linked Role in Modeler.
Role A Constraints
Constraints property of Start Role.
Role A Documentation
Description property of Role created for Role A.
Role A Keys/Qualifiers
If Role A has any keys or qualifiers, Connector for IBM Rational Rose creates a Qualifier. The Name of the Qualifier is set to the signature of the first key/qualifier.
The Name, Type and Documentation properties of each key/qualifier is recorded in the Description property of that Qualifier.
Role B Name
End Role. Creates a linked Role in Modeler.
Role B Constraints
Constraints property of End Role.
Role B Documentation
Description property of Role created for Role B.
Role B Keys/Qualifiers
If Role B has any keys or qualifiers, Connector for IBM Rational Rose creates a Qualifier. The Name of the Qualifier is set to the signature of the first key/qualifier.
The Name, Type and Documentation properties of each key/qualifier is recorded in the Description property of that Qualifier.
Aggregation
Aggregation
Composite Aggregation (Aggregate check box and By Value option selected)
Composite Aggregation
Multiplicity
Multiplicity.
If an Association is stereotyped in Rose, a Stereotype of the same name is applied to the Association in Modeler (Connector for IBM Rational Rose creates the Stereotype if required).
If an Association has the ANSI C++ language assigned, Connector for IBM Rational Rose imports the following properties:
Rose ANSI C++ Property
Modeler Property
CodeName (ANSI C++ A tab)
CODE.GENERATION.NAME property of Start Role.
CodeName (ANSI C++ B tab)
CODE.GENERATION.NAME property of End Role.
InitialValue (ANSI C++ A tab)
Default of Start Role
InitialValue (ANSI C++ B tab)
Default of End Role
If an Association has the VC++ language assigned, Connector for IBM Rational Rose imports the following properties:
Rose VC++ Property
Modeler Property
Const (VC++ A tab)
The C++ CV Qualifier tag definition (applied by the «C++ Role» stereotype) of the Start Role - set to TRUE if Const is TRUE.
Const (VC++ B tab)
The C++ CV Qualifier tag definition (applied by the «C++ Role» stereotype) of the End Role - set to TRUE if Const is TRUE.
InitialValue (VC++ A tab)
Default of Start Role
InitialValue (VC++ B tab)
Default of End Role
Association Class
Not imported.
Attribute
Each Attribute is created as an Attribute of the owning Class in Modeler. The following properties are imported.
Rose Property
Modeler Property
Containment
If set to By Reference, the C++ Indirection tag definition is set to &.
Derived
Derived
Documentation
Description
Implementation (Export Control)
Either Public, Private or Protected Access, depending on the Map Implementation setting for Operations on the Set Import Options page of Connector for IBM Rational Rose.
Initial Value
Default
Name
Name
Private (Export Control)
Private (Visibility)
Protected (Export Control)
Protected (Visibility)
Public (Export Control)
Public (Visibility)
Static
Storage
Type
Data Type.
If the Type includes array bounds, the Multiplicity of the Attributes is set accordingly.
The Data Type may need interpreting in Modeler.
If an Attribute is stereotyped in Rose, a Stereotype of the same name is applied to the Attribute in Modeler (Connector for IBM Rational Rose creates the Stereotype if required). If the following Stereotypes are applied to a Rose Attribute through the ANSI C++language, addition mappings are also made:
Rose ANSI C++ Stereotype
Modeler Property
«mutable»
The Attribute is set up with its C++ Storage Class tag definition (applied by «C++ Attribute» stereotype) set to mutable.
If an Attribute has the ANSI C++ language assigned, Connector for IBM Rational Rose imports the following properties:
Rose ANSI C++ Property
Modeler Property
CodeName
CODE.GENERATION.NAME
Class
Each Class is created as a Class in Modeler. The following properties are imported.
Rose Property
Modeler Property
Abstract
Abstract
Documentation
Description
Name
Name
Persistent
Persistent
Transient
Not Persistent, that is, the Persistent check box is cleared.
If a Class is stereotyped in Rose, a Stereotype of the same name is applied to the Class in Modeler (Connector for IBM Rational Rose creates the Stereotype if required). If the following Stereotypes are applied to a Rose Class through the ANSI C++ or VC++ language, addition mappings are also made:
Rose ANSI C++/VC++ Stereotype
Modeler
«enum»
Each «enum» stereotyped Class is created as a Type Definition.
The Type Definition has Enum Construction and each of the Rose Class' Attributes is created as an Enumeration Literal.
If the C Profile or C++ Profile is present in the model, Connector for IBM Rational Rose applies the C Enum Literal/C++ Enum Literal to each Enumeration Literal so that the initial value can be imported to the tagged value of the C Expression/C++ Expression tag definition.
«interface»
Each «interface» stereotyped Class is created as an Interface.
«struct»
Each «struct» stereotyped Class is created as a Data Type.
«typedef»
Each «typedef» stereotyped Class is created as a Type Definition.
«union»
Each «union» stereotyped Class is created as a Union Class, that is, the Union check box is selected.
If a Class has the ANSI C++ language assigned, Connector for IBM Rational Rose imports the following properties (BodySourceFile and HeaderSourceFile properties are not imported):
Rose ANSI C++ Property
Modeler Property
CodeName
CODE.GENERATION.NAME
ImplementationType
If ImplementationType value is single-lined and fewer than 101 characters - Data Type of Type Definition created for «typedef» stereotyped Class.
If ImplementationType value is multi-lined or greater than 100 characters - Tagged value of CplusplusImplementationType tag definition.
Important: To import ImplementationType values that are multi-lined or greater than 100 characters, you must create a CplusplusImplementationType tag definition and apply it through a Stereotype to Type Definitions.
If a Class has the VC++ language assigned, Connector for IBM Rational Rose does not import the CodeFileName and HeaderFileName properties.
If a Class is parameterized, Connector for IBM Rational Rose sets up the imported Class as a Template Class - on the Class' Property Pages, the Template check box is selected, and the Formal Template Parameters are set accordingly.
Dependency
Each Dependency link is created as a Dependency of the appropriate type in Modeler.
If a Dependency has the ANSI C++ language assigned, Connector for IBM Rational Rose does not import the BodyReferenceOnly property.
Generalization
Each Generalization is created as a Generalization in Modeler. The following properties are imported.
Rose Property
Modeler Property
Documentation
Description
Name
Name. Note that if the Generalization in Rose is unnamed, the Generalization in Modeler is named <unnamed>, which results in its name not being shown on the Class Diagram.
Note (on diagram)
Each Note is created as a Note in Modeler. Note Links are not imported.
Operation
Each Operation is created as an Operation of the owning Class in Modeler. The following properties are imported.
Rose Property
Modeler Property
Abstract
Abstract
Concurrency
Timing - If Sequential and Guarded the Timing is set to Call, If Synchronous the Timing is set to Waiting.
Documentation
Description
Exceptions
Connector for IBM Rational Rose creates a linked Exception for each comma separated Exception in Rose.
Guarded (Concurrency)
Call (Synchronous)
Implementation (Export Control)
Set to either Public, Private or Protected Access, depending on the Map Implementation setting for Operations on the Set Import Options page of Connector for IBM Rational Rose
Name
Name
Postconditions
Post Conditions
Preconditions
Pre Conditions
Private (Export Control)
Private (Visibility)
Protected (Export Control)
Protected (Visibility)
Public (Export Control)
Public (Visibility)
Return Type
Return Type. The Return Type may need interpreting in Modeler.
Sequential (Concurrency)
Call (Synchronous)
Synchronous (Concurrency)
Waiting (Synchronous)
Time
Duration
Virtual
If True, Binding is set to At Runtime. If False, Binding is set to At Compile.
If an Operation is stereotyped in Rose, a Stereotype of the same name is applied to the Operation in Modeler (Connector for IBM Rational Rose creates the Stereotype if required). If the following Stereotypes are applied to an Operation through the ANSI C++language, addition mappings are also made:
Rose ANSI C++ Stereotype
Modeler
«abstract»
The Operation is set up as Abstract (Abstract check box selected), its Data Usage set to On Instance, and its Binding set to At Runtime.
«abstract,const»
The Operation is set up as Abstract (Abstract check box selected), Immutable (Immutable check box selected), its Data Usage set to On Instance, and its Binding set to At Runtime.
«const»
The Operation is set up as Immutable (Immutable check box selected).
«explicit»
The Operation is set up with its C++ Explicit tag definition (applied by the «C++ Operation» stereotype) set to TRUE.
«friend»
No additional mapping.
«static»
The Operation is set up with its Data Usage set to On Class, and its Binding set to At Compile.
«virtual»
The Operation is set up with its Data Usage set to On Instance, and its Binding set to At Runtime.
«virtual,const»
The Operation is set up as Immutable (Immutable check box selected), its Data Usage set to On Instance, and its Binding set to At Runtime.
If an Operation is stereotyped in Rose, a Stereotype of the same name is applied to the Operation in Modeler (Connector for IBM Rational Rose creates the Stereotype if required). If the following Stereotypes are applied to an Operation through the VC++ language, addition mappings are also made:
Rose VC++ Stereotype
Modeler
«abstract»
The Operation is set up as Abstract (Abstract check box selected), its Data Usage set to On Instance, and its Binding set to At Runtime.
«const»
The Operation is set up as Immutable (Immutable check box selected).
«friend»
No additional mapping.
«static»
The Operation is set up with its Data Usage set to On Class, and its Binding set to At Compile.
«virtual»
The Operation is set up with its Data Usage set to On Instance, and its Binding set to At Runtime.
If an Operation has the ANSI C++ language assigned, Connector for IBM Rational Rose imports the following properties:
Rose ANSI C++ Property
Modeler Property
CodeName
CODE.GENERATION.NAME
InitialCodeBody
Body
Inline
The C++ Inline tag definition (applied by the «C++ Operation» stereotype) is set to TRUE.
If an Operation has the VC++ language assigned, Connector for IBM Rational Rose imports the following properties:
Rose VC++ Property
Modeler Property
DefaultBody
Body
Inline
The C++ Inline tag definition (applied by the «C++ Operation» stereotype) is set to TRUE.
Package
Each Package is created as a Package in Modeler. If the imported Packages are part of a Package hierarchy, this hierarchy is created in Modeler. The following properties are imported.
Rose Property
Modeler Property
Documentation
Description
Name
Name
If a Package has the ANSI C++ language assigned, Connector for IBM Rational Rose imports the following properties:
Rose Property
Modeler Property
CodeName
CODE.GENERATION.NAME
IsNamespace
Mapping
If a Package has the VC++ language assigned, Connector for IBM Rational Rose imports the following properties:
Rose Property
Modeler Property
Directory
CODE.GENERATION.NAME
IsDirectory
Mapping
Parameter
Each Parameter (Argument of an Operation) is created as a Parameter of the owning Operation in Modeler. The following properties are imported.
Rose Property
Modeler Property
Default
Default
Documentation
Description
Name
Name. Invalid characters are removed. If this results in no characters remaining, Modeler provides a default name for the Parameter.
Type
Data Type.
If it has 'const', const is removed from the Data Type name and Mechanism is set to In.
If it has '*', * is removed from the Data Type name and Mechanism is set to In and Out.
If the Data Type cannot be found in the model, the Parameter's Data Type is set to Uninterpreted Data Value.
* 
The Mechanism of each Parameter is set to In.
If a Parameter has the ANSI C++ language assigned, Connector for IBM Rational Rose imports the following properties:
Rose Property
Modeler Property
CodeName
CODE.GENERATION.NAME
Realize Relationship
Each Realize relationship that starts from a Class and ends with an Interface is created as a Dependency of type Interface Realization. Other Realize relationships are created as Dependencies if valid in Modeler.
Only Realize relationships that start from a Class and end with an Interface are imported.
Subsystem
Each Subsystem is created as a Package that is stereotyped by the «subsystem» stereotype in Modeler. The following properties are imported.
Rose Property
Modeler Property
Documentation
Description
Name
Name
Text Box
Each Text Box is created as a Note in Modeler.
Use Case
Each Use Case is created as a Use Case in Modeler.
If the Use Case is stereotyped by the Business Use Case stereotype in the Rose model, the imported Use Case is stereotyped by the «Business Use Case» stereotype in Modeler. The «Business Use Case» stereotype makes the Use Case look similar to a Business Use Case in Rose.
The following properties are imported.
Rose Property
Modeler Property
Documentation
Description
Name
Name