Troubleshooting
Problem
Why are the class stereotypes "boundary", "control" and "entity" not recognized by Rational XDE when migrating a Rational Rose model ?
Resolving The Problem
QUESTION:
Why are the class stereotypes "boundary", "control" and "entity" not recognized by Rational XDE
when migrating a Rational Rose model ?
If one tries to convert a rose model (.mdl) containing classes stereotyped as "boundary", "control"
or "entity" and assigned to the "Analysis" language, the XDE model (.mdx) will not display
the class stereotype correctly.
ANSWER:
In Rose, the "boundary", "control" and "entity" stereotypes are represented starting with a lowercase
letter.
In XDE they are represented starting with an uppercase letter.
When the class is not assigned to any particular language (i.e. to Analysis), the model conversion fails.
The issue has been reported witht the following recordID:
RATLC00230574: "Rose/XDE.Net: Migration of analysis classes stereotyped as control, entity or
boundary fails in some circumstances"
A possible workaround is to run the following script in Rose in order to change the stereotype name
to uppercase so it can be recognized by Rational XDE.
' -----------------------<BEGIN SCRIPT>--------------------------------
' Script to workaround the UpperCase/LowerCase mismatch
' between Rational Rose 2002.05.20 and Rational XDE 200.05.20
' of the stereotypes:
' <<entity>> <<control>> <<boundary>> stereotypes
' The script will change to Uppercase the stereotype name
' in Rational Rose in order to successful import it the model
' in Rational XDE afterwards.
Sub ChangeStereotypesForClass (theModel As Model)
Dim theClass As Class
Dim theCategory As Category
For i = 1 To theModel.GetAllClasses().Count
Set theClass = theModel.GetAllClasses().GetAt (i)
Select Case theClass.LocalizedStereotype
Case "entity"
Set theClass.LocalizedStereotype = "Entity"
RoseApp.WriteErrorLog "The Class: "+theClass.GetQualifiedName+_
" stereotype was changed to Entity"
Case "control"
Set theClass.LocalizedStereotype = "Control"
RoseApp.WriteErrorLog "The Class: "+theClass.GetQualifiedName+_
" stereotype was changed to Control"
Case "boundary"
Set theClass.LocalizedStereotype = "Boundary"
RoseApp.WriteErrorLog "The Class: "+theClass.GetQualifiedName+_
" stereotype was changed to Bounday"
Case Else
RoseApp.WriteErrorlog "No changes were made for the class: "+_
theClass.GetQualifiedName
End Select
Next i
msgbox "Finished -- See log for details"
End Sub
Sub Main
Dim theModel As Model
Dim theClass As Class
Dim SaveUnits As Boolean
SaveUnits =true
ChangeStereotypesForClass RoseApp.CurrentModel
roseApp.WriteErrorLog "Please save the model if changes were made."
End Sub
'-----------------------------------<END SCRIPT>--------------------------------------
.
Historical Number
138972996
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21130634