IBM® Rational® Rose® RealTime Solaris V2003.06.15 Patch Release Notes

Release Date: August 2005
Last Updated: August 3, 2005 

© Copyright IBM Corporation. 1999, 2005.  All Rights Reserved.
Any reproduction or distribution of this work is expressly prohibited without the prior written consent of IBM Corporation. 
Legal Notices Information

Scope
This Patch is for Solaris configurations only, and it addresses defects (see Defects Fixed in This Release).
The Patch Release Note includes:
•	Upgrade information and instructions 
•	Defects fixed in the current patch release (V2003.06.15)
Getting Started
Installation Information
What to do Before Installation
Verify Rational Rose RealTime v2003.06.14 is installed and ensure that file and directory permissions allow writing to Release Area.  If you encounter problems during the unzip process regarding read-only files, change the permissions on the file system for all files under <ROSERT_HOME>C/TargetRTS and <ROSERT_HOME>C++/TargetRTS.

Note: Some Windows virus checking software will warn you about gzip type files (with a .gz extension). This warning can be safely ignored. There should be no viruses reported during the extraction of the Patch files when using WinZip.
How to Install this Patch
To install the Rational Rose RealTime v2003.06.15 Patch:
1.	Ensure there is no running instance of Rational Rose RealTime on the computer you want to update.
2.	Verify Rose RealTime V2003.06.14 is installed. 
3.	Copy the Patch – RoseRT.SR5.sun5.1629.tar.gz in $ROSERT_HOME.
4.	cd $ROSERT_HOME 
5.	gunzip < RoseRT.SR5.sun5.1629.tar.gz  | tar xpf -
What to do After Installation
The accompanying .gz file from the Patch is no longer required. However, if you want to retain this file if a re-installation is required, you can move the file to <ROSERT_HOME>/specials. 
Toolset
Run the toolset and ensure that the build number is correct.  In Rational Rose RealTime, click Help > About Rational Rose RealTime and verify that the version number for Rational Rose RealTime is 6.6.1629. If the build number is not the same, this Service Release was not applied correctly. 
Code Gen
Note: If you wish to take advantage of the problems fixed in the code generators, you need to rebuild and re-link your models. 
RQA-RT
Note: If you wish to take advantage of the problems fixed in the RQA-RT, you need to rebuild and re-verify your test runs.
RTJava Models
Note: If you wish to take advantage of the problems fixed in the RTJava code generator, you need to rebuild and re-link your Java models.
Model Integrator 
No additional steps are required.
C++ TargetRTS
Note: If you wish to take advantage of the problems fixed in the C++ TargetRTS, you need to rebuild your Target RTS libraries and re-link your models.
C TargetRTS
The fields in the C Structs have be been reordered to remove padding between the fields.  With this change the models using C TargetRTS must be recompiled at all ends (if model deployed, recompile at both server and client sides).  The models compiled with this change may not be compatible with the models compiled earlier. 
C & C++ Models
Note: If you wish to take advantage of the problems fixed in the code generators, you need to rebuild and re-link your models. 
Connexis
Note: If you wish to take advantage of the problems fixed in the DCS, you need to rebuild and re-link your models. 
Targets Requiring Re-Build after Installing this Patch
To determine which TargetRTS or Connexis libraries require immediate rebuilding, please refer to the following directories of your release after installing this Patch.  
o	$ROSERT_HOME/C++/TargetRTS/lib/<config>
o	$ROSERT_HOME/C/TargetRTS/lib/<config>
o	$ROSERT_HOME/Connexis/C++/lib/<config>
If the TargetRTS or Connexis libraries you require have timestamps older than April 26th, it will be necessary for you to rebuild the applicable libraries before utilizing.
Licensing
For additional information on licensing, see You Must Install License Keys to Run this Product.
Run-Time Requirements
o	Solaris Rose RealTime is compatible with Exceed versions 8 and 9.  Utilizing a previous version of Exceed can cause distortions in model displays.
o	When installing on the following Solaris operating system versions, the Solaris C++ Runtime patches are required.  If the necessary patches are not installed the following error may occur and Rose RealTime will not start:

RoseRT: fatal: libCrun.so.1: version `SUNW_1.2' not found

SUN Solaris Operating System Patch Requirements:

o	Solaris 7 – 106300-24 or greater  (This patch also requires 106327-23 or greater)
o	Solaris 8 – 108434-17 or greater
o	Solaris 9 – 111711-11 or greater
Compatibility Issues
For additional information on compatibility issues, see the Product Support section of the Rational Rose RealTime web site at:
http://www.ibm.com/software/rational/support/
Late Changes to Documentation
For the most recent documentation updates, visit the Product Support section of the Rational Rose RealTime web site at:
http://www.ibm.com/software/rational/support/
Where printed documentation exists, always refer to the online Help or PDF versions of the book for the latest updates. 
Enhancements & Defect Fixes
Core Rose RealTime Enhancements
•	Enhancement for Slow Performance when Displaying Sequence Diagram Role List
•	New RRTEI Methods
•	RRTEI:  Enhancement to Provide Access to Note Content
•	RRTEI:  Enhancement to Retrieve Message Number from Message
•	Ability to Build CORBA Component through RRTEI
•	Enhancement to Enable Regular Expressions "and" & "or" in Search Functions
•	Ability to invoke Rename, Move and Remove commands on Controlled Units through RRTEI
•	Enhancements to the Rose RealTime Code Editor
•	New Option for Protocol Inheritance when Overriding Signals
•	Enhancement to Add “Find References” to Code Editor Selections
•	Enhancement for using Find In dialog to Search Inherited Fields within Composite Items
Rose RealTime Model Integrator Enhancement
•	Rose RealTime Model Integrator Filter Enhancement
Rose RealTime CPP Enhancement
•	Provide Better Support for C++ Nested Namespaces
•	Ability to Define Cardinality in External Header File

Rose RealTime / ClearCase Integration Support
•	Ability to Check-In / Check-Out External Files
Rose RealTime Java Enhancement
•	Rose RealTime Java Improvement to Method Visibility in Sequence Diagrams
Addition of CORBA Add-In

Enhancement for Slow Performance when Displaying Sequence Diagram Role List
Note:  It is only necessary to utilize this enhancement if you are encountering slow performance when attempting to display the Sequence Diagram Role List.
A new option has been included in the Rose RealTime Tools > Options dialog, which can significantly enhance performance when attempting to display a large role list.  A new check-box option "Sequence diagram role list size" is added to the "Picklists" section of the Options dialog.  By default, the check-box is unchecked and there is no limit to the size of the role list to be displayed (role list size < 0 also produces default behavior).
Checking the "Sequence diagram role list size" will allow you to enter a threshold value of the maximum role list size.  Adding a new interaction instance which causes the role list to exceed the set threshold value, will produce the following results which ultimately improves the role list display performance.
1.	Role list efficiently displays and scroll bar of the list becomes inactive.  
2.	You may traverse the list, using the Up and Down arrows, Page Up / Page Down, Home / End to move to the starting / end of the list, or enter the starting letter of the role name. 
New RRTEI Methods 
The following new methods have been added, equivalent to the methods shown in parentheses.  The new methods will return a boolean value (True = successful, False = Failed).
o	RelocateClassEx (original:  RelocateClass) 
o	RelocateClassDiagramEx (original:  RelocateClassDiagram) 
o	RelocateLogicalPackageEx (original:  RelocateLogicalPackage) 

Also, new RRTEI methods to provide access to Note Content and to retrieve message number from message.
Enhancement to Enable Regular Expressions "and" (&) And  "or" (|) in Search Functions 
Two new operators may be used in search expressions:
•	"&" = "and" (To find entries in the model having both "foo" and "bar" the following search expression can be used - "foo & bar") 
•	"|" = "or" (To find entries in the model having either "foo" or "bar" the following search expression can be used - "foo | bar") 
To search for '&' and '|' use the escape character, for example to search for '&' the search string would be \&.
Ability to invoke Rename, Move and Remove commands on Controlled Units through RRTEI 
1.	Move the Source Control file of a ControllableElement to a different directory under source control.  
This moves the controllable unit under source control (i.e. corresponding file) to the destination directory (e.g., another package)  
Syntax: Moved = theApplication.move( pElements, destDirectory )
Moved As Boolean - Returns a value of True if the Controllable Element in pElement was moved to the directory 'destDirectory' successfully.
theApplication As RoseRT.Application - The running instance of Application.
pElements As RoseRT.ControllableElementCollection - The collection of elements to move.
destDirectory As RoseRT.ControllableElement - Destination directory where this file (containing the controlled element) is to be moved.
2.	Remove the Source Control file of a ControllableElement from the model as well as source control.  
Removes the model element and also removes the controllable unit from the source control.  
Syntax:Removed = theApplication.remove( pElement, comment )
Removed As Boolean - Returns a value of True if the Controllable Element in pElement was removed successfully from source control.
theApplication As RoseRT.Application - The running instance of Application,
pElements As RoseRT.ControllableElementCollection - The collection of elements to remove.
3.	Rename the Source Control file of a ControllableElement. 
Renames the model element and also renames the controllable unit in the source control.  
Syntax: Renamed = theApplication.rename( pElement, nameTo )
Renamed As Boolean - Returns a value of True if the name of the Controllable Element in pElement was changed to 'nameTo' successfully.
theApplication As RoseRT.Application - The running instance of Application.
pElement As RoseRT.ControllableElement - The controllable element to rename.
nameTo As String - New Name for the file containing this element.
comment As String - Comments to provide to Source Control server for the operation.
Rose RealTime Model Integrator Filter Enhancement
Selecting Rose RealTime Model Integrator  Options > NewFiltering... presents a new Model Integrator Filter Settings dialog.  This dialog allows you to "Ignore All" of the GUI filter groups (including, properties) listed below, or you may select each GUI filter group individually (that you wish to ignore in the Model Integrator comparison or merge):
o	Locations (label location, coordinate data of an object, name location, coordinate data of the origin of an object, origin_x, origin_y, x_coord, x_offset, y_coord, y_offset) 
o	Dimensions (margin locations & margin width, grid size X & Y settings, height of diagram, icon height & width & Y offset, justify setting, maximum height & width of label tags, orientation, overlap setting of diagrams (for diagrams larger than one page), size, Bool value of snap to grid, Bool value of object visibility, width of object, zoom factor) 
o	Fonts (Bool value of bold, strike, underline & italics settings, default font value, font setting, icon style, line style, number of lines of text that must be written) 
o	Colors (color, fill color, default color, line color) 
o	Visibility (Bool value settings for autoresize, clip icon labels, show stereotypes, hidden, include attributes, include operations, show message numbers in Sequence Diagram, show signatures for operations, suppress attribute & suppress operation.  Also includes boxed, icon, and navigable properties) 
By checking any of the filter groups (listed above) or "Ignore All", the Model Integrator will suppress all the differences associated with the selected filter groups among two or more contributors.  For example, checking the "Colors" filter group will ignore the differences in the color related properties while performing a compare and/or merge.
Selecting (checking) Ignore All disables the individual selection of the filter groups as Ignore All will suppress the differences for all of the filter groups listed.
The Locations and Dimension filter groups allows you to enter the filter value in their respective edit box (positioned to the right of the "Locations" and "Dimension" filter check-boxes, respectively.  If the value entered (in pixels) for the two contributors is less than or equal to the property value then that property will not be shown with a difference or a conflict.  The other properties, "Fonts", "Colors" and "Visibility" do not have associated filter values.
Selecting the Filter options and selecting OK will save the filter settings for future sessions.
After loading two or more contributors in the Rose RealTime Model Integrator and subsequently changing the filter settings a message box indicating "You must reload contributors for this change to take effect" will be displayed.  In this case it will be necessary to open the Add contributor dialog again and click on Merge or Compare buttons depending on the operation being performed.  This message will not appear if the filter options are selected before adding any contributors.
The Rose RealTime Model Integrator Add-In lets you compare model elements from up to seven contributor files, discover their differences, and merge them into the base model.

Note:  The filter works only with values which have been set.  If any of the contributors don't have the value set (i.e. value set to <default> ), the filter will report a conflict, irrespective of the filter being chosen.  Those differences will be reported as conflict even if the option "ignore all" is chosen.
Ability to Define Cardinality in External Header File 
To create a #defined constant or a constant variable - please refer to Rose RealTime online Help.  The information below explains how to create a constant global variable using Rose RealTime.  
To Create a Global C/C++ constant
1.	Create a class and name it appropriately.   
2.	Create an attribute in this new class.  This will be the constant.  In the New Attributes C++ Properties tab, change the AttributeKind field to Global.   
3.	In the Attributes Detail tab, set the Type and Initial Value for the constant.   
4.	Set the changeability option to Frozen.   
5.	Add a dependency between the class where the constant is defined, and the capsules or classes that use the constant.   
6.	If the constant is Global, ensure that the Dependency C++ Properties are: KindInHeader = inclusion, and KindInImplementation = none. 
To Use a Global constant variable
1.	Create an explicit dependency between the class which uses the constant and the class where the constant is defined. (This was not previously required.) 
2.	While using the constant in the cardinality, use the fully qualified name of the constant. For example:- The constant is defined as "const1" in the class "A" and class "B" has an aggregation relation with class "C".  The aggregation relation has a cardinality of const1, it has to be defined as "A::const1" instead of "const1". 
3.	Also, in order to export the constant as a variable you will need to use the flag ( -fexport-constant-as-variable in addition to the flags -spacedeps, dq, -system etc. ) for exporting the constant as a variable to a header file while generating the source code for the model. 
A #define May be Used to Define Cardinality
Previously, Rose RealTime used to extract the value of the constant and insert it where the #define / constant was being utilized.  Now, you may use the variable name, instead of the constant value.  The variable will also get exported in a *.h file as a #define / constant.
Rose RTJava Improvement to Method Visibility in Sequence Diagrams 
By default the operations dropdown list of the Specification dialog of a Call Message would only include the public operations of the receiver class.  This default behavior has been enhanced when using RTJava such that the operations list will display only those operations that are valid according to Java language specifications (see below).
Validity of the operations depend upon the following access specifications:
•	Public - Any sender class in any package has access to a receiver class's public operations 
•	Private - Accessible only when sender class and receiver class are the same 
•	Protected - Accessible to subclasses (which can be in other packages) and all sender classes in the same package 
•	Implementation or Default - Accessible to the sender classes which are in the same package of the receiver classes 
You will now be able to access the RTJava operations (from the "Call Message Specification" dialog) according to the access rules indicated above.
If the user wants to see all the operations of the receiver class, the registry string value "OpsVisibility" under the registry key "HKEY_CURRENT_USER\SOFTWARE\Rational Software\Rose RealTime\6.5" should be set to “1”.  Then, the list will display public, private, protected and implementation operations of the receiver class. 
Note:  If the receiver’s class language is not RTJava, the original behavior remains - only the public operations of the receiver class are listed.
RTJava Example
Consider the following example where a Rose RealTime model has two classes.  Let the class names be class1 and class2.  The Receiver's class language type is RTJava.

Assume class1 has the following operations

1. class1_public_op() - public operation
2. class1_protected_op() - protected operation
3. class1_private_op() - private operation
4. class1_implementation_op() - implementation operation

and class2 has the following operations

1. class2_public_op() - public operation
2. class2_protected_op() - protected operation
3. class2_private_op() - private operation
4. class2_implementation_op() - implementation operation
Let class1 be the sender class and class2 be the receiver class.
Case 1:  Default behavior 
o	Sender and Receiver are in Same Package  
The public, protected and implementation operations of the receiver class are displayed (class2_implementation_op(), class2_protected_op(), class2_public_op()).
o	Receiver Class is an Outer Class of the Sender Class  
As the Inner Sender Class can see all of the operations of the Outer Receiver Class, the list includes the private, protected, public and implementation operations of the receiver class (class2_implementation_op(), class2_private_op(), class2_protected_op(), class2_public_op()).
Case 2:  OpsVisibility="1"
The operations list will display all the operations of the receiver class class2: 
(class2_public_op(), class2_protected_op(), class2_private_op() and class2_implementation_op())
Limitation:  
The Rose RTJava Improvement to Method Visibility in Sequence Diagrams has the following limitation:
Hot Link "operation" will not work (i.e. operation specification dialog will not open) correctly on an operation, if we select an operation in the operations dropdown list when OpsVisibility =”1” (the operation should not be shown by default in the list), and then we reset the OpsVisibility to a value other than “1”. 
You may disable this dialog box by enabling the check box. 
Addition of CORBA Add-In 
The CORBA Add-In is included in the Rose RealTime V2003.06.15 Patch.

To Enable the CORBA Add-In
Select Tools ->Option Click on the "Language/Environment" tab 
Under "Default language:" select CORBA 
Under "Default environment:" select CORBA

CORBA Add-In Limitations and Known Issues
1.	If an external process makes  "out_of_proc" COM REI calls, ensure that the desired program (either Rose or Rose RealTime, but not both) is registered as the REI COM server.
2.	The Help documentation for the CORBA Add-In may indicate Rose instead of Rose RealTime.
Enhancement to the Rose RealTime Code Editor
Note:  Word-wrap no longer an available or supported option in Rose RealTime Code Editor
o	Automatic Syntax Highlighting

Language Keywords will appear in color.  You may choose a color preference for the automatic syntax highlighting feature, utilizing one of the following options:
•	Change Color for Current Language – Right click on the Code Window and select Font, Color…
•	Configure Color for any Language – Select Tools > Options > Font / Color tab, choose a language option from Code editor Font/Color pick list and click Configure.
o	Automatic Auto Indent

The Rose RealTime Code Editor now automatically appends white spaces / tabs to a new line to create similar indentation to the previous line.
o	Ability to search using regular expressions (and, searching a session) when utilizing Find / Replace capabilities

o	Improved Undo / Redo Capabilities
o	
New Context Menu Options (Font, Color…, Line Numbers) added to the Documentation/Code (Ctrl+3) window pane (right bottom) and Capsule Operation, Detail tab.

o	Ability to Enable / Disable Line Numbering
o	To Change Setting for Current Code Window – Right click on the Code Window and select or uncheck Line Numbers
o	To Change Global Settings – Select Tools > Options > Editor, and check or uncheck Display Line Number

o	Ability to Create Custom Tab Size

The length of the tab character can now be varied.  To set the tab size:
o	Select Tools > Options > Editor and set the Tab Size

o	Ability to Expand Tabs with White Spaces

Tab characters may be replaced with white spaces.  To set tab character replacement:

o	Select Tools > Options > Editor and check or uncheck Expand Tabs

o	Improved Code Printing Features (Print Code dialog can be accessed via context menu > File > Print…)
o	Ability to Print Preview Code document (This feature is not available for Browse Header and Browse Body functions)
The following settings are set in the Options tab of the Print Code dialog and are persistent in the registry:
o	Ability to add Header and Footer  - New variables added for Header / Footer ($page, $pages, $title)
o	Ability to Enable / Disable Line Number when printing
o	User Preferences for Color, Tab Size, Line Numbering, Header & Footer are automatically saved in registry when selections made from Toolset.  The default settings for these preferences are located in %ROSERT_HOME%\csyntax.ini and %ROSERT_HOME%\javasyntax.ini.
Code Editor Windows & Dialogs Added or Enhanced
o	Code Window

                                         Original Code Window								New Code Window
o	Open Specification Code Window

                           Original Open Specification Code Window					       New Open Specification Code Window
                             Original Specification Window							New Specification Window
Find / Replace Dialogs now include Regular Expression Searches and the Ability to “Mark All” or Replace In “Whole file”

Original Find / Replace Dialogs								   New Find / Replace Dialogs

Selection button will be enabled only when there is a selection.  To remove markings created by “Mark All” select context menu > Search > Clear Markings.

o	New Options (Font, Color…, Line Numbers) added to the Documentation/Code (Ctrl+3) window pane (right bottom).

 

o	Capsule Operation, Detail tab, Code window context menu.

Note:  Word Wrap is no longer included in these context menus as an option and is no longer supported.
o	Internal Code Editor Options now available on Options > Editor Property Window

o	Code Editor Font / Color Options Available in the Options > Font / Color Window

o	New Font / Color Configuration Dialog Available 

o	Print Code Dialog now includes “Options Tab”, which is shown below (Can be accessed through Context menu > File > Print…)

Paper Type Selection & Orientation may be accessed through the “Properties…” button.

o	New Print Code > Options Dialog providing user defined settings for Header, Footer and Line Number

o	New Code Print Preview Window Available 

o	Ability to use "Find References" which utilizes selected code as a search parameter.

New Context Menus:  Search > Find in Model... and Search > Replace in Model...
Both new menu selections invoke the TreeBrowser Find Dialog.

New Option for Protocol Inheritance when Overriding Signals
All changes in signals, which are inherited and overridden in children from the base class, will now show one additional message box asking if you would like to change all inherited overridden signals recursively. 

 Selecting “No” will lead to existing behavior  Upon selecting “Yes” all the overridden signals will be changed to the new parent signal type in all the inherited overridden instances of all Childs. 
On class diagram, the protocol context menu will carry one additional option “Show All overridden Signals”

Selecting "Show All Overidden Signals" will show all overridden signals only (not all inherited) in addition to current selections.
This preference can be applied globally by selecting the option "Show overridden Signals" @ Tools->Options->compartments->Protocols. This will be saved in $ROSERT_HOME/RoseRT.ini and will be effective once the toolset is restarted.

This option will be effective for all protocols added to diagram after this change without restarting the toolset.
Enhancement to Add “Find References” to Code Editor Selections

A selection made in the Code Editor can now be used as a search parameter for the Find tool.

Two new context menu items are have been added to the Find Context Menu:

•	Find in Model… (Ctrl Shift+F)
•	Replace in Model… (Ctrl+Shift+R)

Select text in the Code Editor and Select Search > Find in Model or Replace in Model.  Alternatively, you may select the Ctrl+Shift+F or Ctrl+Shift+R, after selecting the text in the Code Editor.

Defects Fixed in This Release
RATLC / APAR ID	Description	
RATLC00046261	Request to change RTTimespec member tv_sec from long to unsigned long.
 
Fixed by changing the variables holding the time info (fields in the structure "struct timespec") from "long" (32 bits wide) to "long long" (64 bits wide).	
RATLC00140872 / IC43498	Rose RealTime Model Integrator may crash while merging changes in the same Rose RealTime class file.	
RATLC00141022 / IC43828	Eclipse Integration files (EclipseIntegration.dll, EsclipseIntegrationRes.dll & EclipseIntegration.mnu) missing from Rose RealTime Release.	
RATLC00141283
RATLC00532405 / IC44325	Connector label may cause structure diagram to inappropriately resize (grow longer). 

The docking point of labels were not calculated until they were drawn.  Since the connector label was hidden, when user moved its parent, the move calculation returned a large move difference causing the issue.	
RATLC00141295 / IC44339	The field OperationKind (located in the Operation Specification > C++) set to "friend" is not working for an operation function with two arguments, for example: 

friend VirtualOstream & operator<<( VirtualOstream & Ostr,FocusLimitsEntity & FocusLimits );	
RATLC00141437 / PK00485	Rose RealTime may crash and dump core if OpenSpecification is used in RRTEI. 

The crash is happening due to accessing a member when the pointer is null.  In this case, the message is null and the code tries to get sender for that message.	
RATLC00141441
RATLC00529923 / IC44660, 44660	Rose RealTime Model Integrator may crash when petal files are large.	
RATLC00141602 / PK01193	Unable to launch Rose RealTime when Tornado installed or running.	
RATLC00141729 / PK01846	Information in the data field may incorrectly be deleted.	
RATLC00141744 / PK01890	Unable to drag classes, operations, attributes, ports, capsule roles, states, etc. into the Code Window.	
RATLC00141757 / PK01951	C++:  The visibility for data members created with an association may be generated as private even if it is declared as public or protected.	
RATLC00141936 / IC45284	Copying and pasting an inherited state in a Capsule's state diagram may cause the following exception: 

RoseRT.exe caused a EXCEPTION_ACCESS_VIOLATION in module RoseRT.exe at 001B:004F064E	
RATLC00142008 / PK02802	Copying and Pasting between Rose RealTime instances and from xterms may not work correctly.	
RATLC00142188 / PK03813	Incorrect line highlighted when reporting compile error.  Highlights the line after the one on which the error was reported.	
RATLC00142221 / IC45742	The struct _RTLogicalThreadInstanceDescription was updated in TargetRTS.  The fields in the struct were re-ordered to remove padding between the fields and the structs.  An update was required in the Codegen (rtcgen).	
RATLC00142245 / IC45775	Model Integrator truncates the state names in transition source points.	
RATLC00142319 / PK04683	Rose RealTime could crash when using "Find in..." function.	
RATLC00142468 / IC45964	The following crash could occur in Rose RealTime for Solaris:

Rose RealTime unix exception: :__1cICRoseAppVBringDownSplashScreen6M_v_	
RATLC00246172 / IC41967	RRTEI Collection Classes will not work with out-of-proc calls.	
RATLC00248919 / IC40612	Unable to open a model through a Workspace when using a snapshot view.  The following error message may appear: 
Error:  Could not run script to get source control capabilities: The shell command 

""C:\Progra~1\Rational\RoseRe~1\bin\win32\rtperl" -w "C:\Program Files\Rational\Rose RealTime\bin\win32\cmscripts\cc\cm_getcaps"" did not terminate in the specified timeout..	
RATLC00249200 / IC42295	Copying a structure diagram to Microsoft Word will cause corruption to the image.	
RATLC00249224	Double-clicking on a Rose RealTime CORBA element could cause Rose RealTime to hang.	
RATLC00379154	RRTEI Model.FindModelElementWithID(id) doesn't return the ModelElement if id identifies a AnalysisStateDiagram. 
"FindModelElementsWithID" could not be used to find diagrams, since diagrams are not of type ModelElement.  The correct function is FindDiagramWithID, unfortunately this method was not exported in RRTEI.  Also, crash could occur while calling "GetFileName":- In this case, the crash is due to a null pointer access.  This happens, when the function is called on an object, that cannot be written into a separate file.	
RATLC00442471 / IC43154	Problems could occur with Protocol inheritance when overriding signals. 
When a protocol 'B' is derived from protocol 'A', 'B' inherits all the signals of 'A' with "Data Class".  However it is possible to override the inherited signals "Data Class" to any other type(Bool, int, char etc).
Once overriding the inherited signal, there is only one way to get back to the parent signal type and that is to manually find the signal type from parent('A') specifications or class diagram and then edit the child ('B') specifications appropriately.
If parent signal is changed, then that change is propagated only to those children who have NOT overridden that particular signal.
In a class diagram, there is no way to display inherited/overridden signals for children.  Only protocol specifications display the information about signals "Data Class".
Therefore, if one protocol is inherited by protocols, which override inherited signals, it is not possible to determine the overridden signals from the class diagram.
Fix included in Rose RealTime Patch:
If a signal inherits and is overridden, and is changed at parent, a message box now displays and asking:
"Do you want to change all inherited overridden signals recursively?”

1.	Selecting "NO" will present the current behavior (described above). 
2.	Selecting "YES" will change all overridden signals (even if the signal is overridden in more than one child).

The protocol display on class diagram will now show an additional right click context menu option, "Show all overridden signals", which on selection will show all inherited overridden signals (both in and out signals).  This option is saved by Rose RealTime and the view attributes will be saved in the petal file.  Also to make this option available by default, one checkbox is added to options dialog (Tools->Options->Compartments->Protocols) "Show all overridden signals". Selecting this option, will by default show all overridden signals for newly added protocols.  This setting will be saved in <$ROSERT_HOME>/RoseRT.ini.	
RATLC00450865 / IC42649	Long Capsule Names are only partially shown with no indication that name is truncated.	
RATLC00512873	Enhancement to provide better support for C++ Nested Namespaces. 
Two scenarios described below:

CASE 1:
------------
Using the flag "RTGEN = rtcppgen -fusenamespaces" you may generate namespaces for all packages. For example - if the package tree is similar to the following:

Logical View
|
--------------------- Package1-Level1
| 
|                     | ----------------------- Package1-Level2
| 
|                     | ----------------------- Package2-Level2
|
|--------------------- Package2-Level1

For all capsules which occur under the package "Logical View" namespace "Logical_View" would be generated in the source code.

All capsules which are added under "Package2-Level2" will have the nested namespace as shown below.

namespace Logical_View
{
    namespace Package1-Level1
     {
        namespace Package2-Level2
          {
             ..............
          }
     }
}

CASE 2:
------------
The case mentioned above doesn't provide the flexibility to control namespace generation at the package level.  If you require control at the package level, open the specification dialog of the package and enter the stereotype as "Namespace".  A namespace in this case gets generated for only those packages which has the stereotype set to "Namespace".  The codegen flag "RTGEN = rtcppgen -fuse-namespaces" should not be used in this case.	
RATLC00513216	SingleDataCompilationUnit doesn't function correctly when passive classes generates statemachines.	
RATLC00515542 / IC37530	Rose RealTime Web Publisher may not publish Activity Diagrams correctly.	
RATLC00516473 / IC37543	RRTEI returns 6 instances of a single ChoicePoint in ModelElements for a StateDiagram. 

Now, filters the views obtained so as to eliminate the duplicate views related to each choice point.	
RATLC00516547	Enhancement request for Rose RealTime Model Integrator to establish dependency information between nodes and automatically resolve dependent nodes and hide properties of little interest.	
RATLC00516572	Addition of CORBA Add-In.  See CORBA Add-In under Enhancements, above.	
RATLC00516650	Enhancement to provide ability to Check-In or Check-Out external documents.	
RATLC00516580	Enhancement to add "Find References" for Code Editor selections.	
RATLC00517892 / IC38722	Rose RealTime Model Integrator merge result may become corrupted when calling Clear DiffMerge more than once during merge. 

When the Model Integrator writes out the merged file, it uses the data from only one of the calls to Clear DiffMerge.  It is not using the areas from which the information is displayed in the GUI.	
RATLC00519105 / IC39264	"Find In.." Dialog does not find inherited triggers and signals. 
The "Find In..." Dialog includes the following updates:

1.	“Find In” Dialog includes a new check box Item “Search Inherited fields within composite items”  
2.	This Check Box item is enabled when “Find In” Dialog is opened by right clicking on any item in the Browser Pane of Rose RealTime. This Check Box item is disabled when the “Find” Dialog is opened from Menu > Edit > Find. 
When this new Check Box Item is checked, Find includes Inherited properties of the current Item in the search and displays the results if the search criterion matches.	
RATLC00520196 / IC41972	RRTEI: "This object has been deleted" message can occur when using GetSendAnalysisAction().Arguments / Target.	
RATLC00522229	RRTEI:  Enhancement to provide Access to Note Contents 

Two New methods added to RRTEI Interface:

IsHyperLink() (desc: check whether the current note content is a hyperlink to a diagram or not)

IsExternalDocLink() (desc: check whether the current note content is a hyperlink to an external doc or a URL)

These methods are added to the NoteView and both return a boolean value.	
RATLC00522592 / IC41017	Transition name may move in State Diagrams.	
RATLC00526150 / IC41937	The code generator (C++) does not complete generation for bidirectional Composite associations when more than one exists for a given class at the Composite end.	
RATLC00528974 / IC42924	Error: Unable to find the component that owns this class.  Error message needs more information. 

Error message "Unable to find component that owns this class", has been enhanced to specifically indicate:i.e.:   "Unable to find the component that owns class SOMECLASSA Is <<C++ Library>> or <<C++ External Library>> component which references the class SOMECLASSA".	
RATLC00530195 / IC43296	Model Integrator unable to correctly merge Sequence Diagrams. Unable to handle conflicts when two new interactions have received the same interaction number by Rose RealTime.	
RATLC00530648 / IC43442	Rose RealTime Crash / Exception may occur after performing the following: 

1.	With any model enabled for Connexis running "Build > Add Class Dependencies". 
2.	Select all the dependencies the script finds and move them to the right side of the dialog and click OK. 
Add dependency if the class is modifiable by the mode.  if dependency cannot be added the following error message is displayed: 

"Dependency {ClassName} --> {Dependency Qualified Name} could not be added because it is not modifiable in this model."  ({ClassName} and {Dependency Qualified Name} are variables and are substituted with the actual names.)	
RATLC00531927	Edit in New Window not working properly. 

1.	Select Edit In New Window..., the Editor is invoked, but any code that was present in the original window/pane is not displayed. 
2.	Entering code and clicking OK to close the window (the code is not saved, so any original code is not overwritten).  If there was no original code, your work in the New Window is lost due to the failure to save the contents of the New Window when clicking OK. 	
RATLC00531328 / IC43845	When the Pick List is active, it’s not possible to use the scrollbar.  Only scroll wheel on the mouse or the arrows or page up and down are possible to use.  Request to fix, or to disable the scrollbar. 

1.	Enable the check box in the Rose RealTime Tool options (Tool->Options) dialog box.  Under the General tab find the checkbox for 'Sequence Diagram role list size' in the section Pick lists.  Check this box and enter a value > 0. 
2.	When the Specification dialog is open, only arrowkeys, pgup, pgdown, home, end and any single characters are allowed. 
3.	Now open the Specification dialog for an interaction instance.  You may observe a scroll bar but it has no affect.  You may only use the key strokes mentioned in #2, above. 	
RATLC00531332 / IC43845	When Tools->Options->General->Pick Lists is active the entries in the picklist will be shown when adding a new role.  However, after selecting one and opening the interaction instance specification for the newly created role, the list no longer displays.  See below for description of fix. 

1.	The option "Tools->Options->General->Pick Lists->Sequence diagram role list size" should be checked and a positive value entered in the edit option. 
2.	When an Interaction Instance is created, it will not populate the entire list in the list box.  Also, when the Specification for an Interaction Instance is opened it will only display a fixed number of elements in the Path combo window located under the General tab of Specification dialog. 
3.	When the drop down list displays, you may use the arrow keys, PgUp, PgDown, Home and End keys.  You may also use the character keys to quickly display the first role in the list, which starts with the letter entered.  After displaying the first role in the list, beginning with the letter entered, you may only use the down arrow key to traverse through the next listed roles. 
4.	Though the vertical scroll bar appears it is not functional.  The scroll bar is visible to alert the user, there are more elements in the list. If you wish to use the scroll bar then you will need to disable the Pick List option. 
5.	The list is sorted in the Combo box. 
Additionally, memory leak could occur whenever opening a Specification dialog for interaction instances by either checking the checkbox for "Sequence diagram role list size" under the "picklists" section in the options dialog or without checking the box. It could also occur when clicking the dropdown box after the Specification dialog box appears. This issue has also been fixed.
LIMITATION: If the role name is edited inside the combo box, when it is not drop down then pressing down arrow will not bring you to the next match in the list.  (However you may use a single character to take you to the next role name that starts with that character).  Once you enter the first character to move to a location in the list starting with that character you may navigate sequentially using the arrow key or page-up / page-down key.	
RATLC00532240	Class Diagram Toolbar may become truncated. 
After loading Rose RealTime model:
1.	Open a class diagram and a capsule state or structure diagram.  
2.	Click the mouse anywhere in the capsule diagram.  
3.	The toolbar looks ok.  
4.	Now, click anywhere in the class diagram.  
5.	The toolbar is missing some icons.  
6.	Now, click on the right or left edge of the toolbar 
7.	The remaining icons will suddenly appear.
 
Workaround:  Uncheck the "Allow Docking" feature by right clicking on toolbox and reposition toolbar so that it is in its own window in a non-docking state.	
RATLC00532473 / IC44661	QUID changes when moving an operation for a class / capsule causing incorrect results from Rose RealTime Model Integrator.	
RATLC00532502 / IC44770	Class Diagram may resize (elongate).	
RATLC00535425 / IC45937	Toggle from Selftransition(s) to Internal/External could cause Rose RealTime to crash.	
RATLC00960034 / IC43498	Performing Rose RealTime Model Integrator merge may cause Model Integrator to crash saving an incomplete file.	
RATLC00960425	Unable to build CORBA component using RRTEI.

Now, you may build a component in automation mode by calling the Build/RebuildAll method on the component.  However RRTEI Add-Ins won't get enabled by default.  You will have to activate the CORBA Add-In from your code. 
The following sample code disables the  launch of Rose RealTime UI and enables the CORBA Add-In.

$roseRT->{"Visible"} = 0; 
my $addinManager = $roseRT->{"AddInManager"}; 
my $addinCollection = $addinManager->{"AddIns"}; 
my $addinCount = $addinCollection->{"Count"}; 
for ( my $index = 0; $index < $addinCount; $index++) 
  { 
  my $addin = $addinCollection->GetAt($index); 
  if ( $addin->{"Name"} =~/^CORBA$/i) 
    { $addin->Activate(); 
    } 
  }	
RATLC00960539	Moving or Renaming referenced CORBA type would not update the references with location or name change.

The class name changes in the Logical view were not updating the attributes, operations and/or parameters whose types were set to that class.

Now, the attributes, operations and/or parameter types are updated with the changed class name. Updating also occurs when the class is moved across the packages.

The current limitation is that the class name is assumed to be unique.  For example, there are no two or more classes with the same name.  If there are two or more classes with the same name, that class name change will not be populated.

Currently, the deletion of the class will not update the attributes, operations and/or parameter types.	
RATLC00960633	An explicit left click was required to select an element in the browser, followed by a right click to display the context menu (i.e. browsing or generating code for a component).	
RATLC00960707	Rose RealTime sequence numbers for messages in sequence diagrams are not visible as attributes. 
Introduced a new RRTEI function GetMsgNumber() for Message which returns a string containing the number, displayed on side of the messagelabel.  This function calls returns the string retrieved by calling COMessage::GetNumber().	
RATLC00960983	Rose RealTime Model Integrator may crash upon saving model after merging.	
RATLC00961493	After installing Rose RealTime Solaris Patch Tornado Library libTornado2.dll cannot load correctly.	
RATLC00961282	Rose RealTime could crash while clicking on the scrollbar of pick list.	
RATLC00961214	EclipseIntegration.dll fails to un-register when explicitly trying to un-register or when performing uninstall of Rose RealTime.	
RATLC00961451	Reverse Engineering may remove artifacts in the Logical View. 
When you Reverse Engineer CORBA IDL files, Rose RealTime CORBA deletes the old artifacts from the Logical View.

This behavior was introduced as part of the defect fix RATLC00213825.

In order to balance both behaviors a new user level Registry entry is added:

[HKEY_CURRENT_USER\SOFTWARE\Rational Software\Rose RealTime\6.5\Addins\CORBA]

"OverWriteModule" = "No"

Rose RealTime CORBA will behave as follows during reverse engineering:

When the Registry Entry OverWriteModule is missing or its value is not set to "Yes" (case insensitive) Rose RealTime CORBA does not delete the artifacts from the Logical View.

When the Registry Entry OverWriteModule value is set to "Yes" (case insensitive) Rose RealTime CORBA deletes the artifacts from the Logical View, keeping the model latest as per the current IDL file only.	
RATLC01075928 / IC44768	Performing Undo-Checkout can cause Model corruption.	
RATLC001079281 / IC45231	Updated LIBSET.MK file for TORNADO22T.PPC603-GNU-2.96 included in Rose RealTime Patch.	
RATLC01077226 / IC44949	Rose RealTime Model Integrator may generate incorrect output causing Rose RealTime to crash.	
RATLC01079281 / IC45231	Updated LIBSET.MK file for TORNADO22T.PPC603-GNU-2.96 included in Rose RealTime V2003.06.15.	
RATLC01079771 / IC45309	Changes made, using the External Editor, were not being saved properly.  After modifying, saving and closing the External Editor the Apply button was grayed out.  Clicking "OK" caused any changes to be lost.	

Known Issues
RATLC / APAR ID	Description	
RATLC00141357	Models do not display correctly, using Exceed V6.1.  It is necessary to use Exceed versions 8 or 9.	
RATLC00210339 / IC39660	Rose RealTime Web Publisher can consume a large amount of memory when Web Publishing large models.	
RATLC00516159 / IC41774	The RRTEI functions componet.AddInclusionPath and component.AddUserLibrary do not function as expected.  Both functions return true which indicates that the inclusion / userlibrary has been created although it has not been.

Workaround:  Locate the property in the RRTEI associated with the data to be updated (i.e. "inclusion path") and override the value.	
RATLC00518895	If the CodeSyncEnabled option on the C++ Generation tab is disabled in Rational Rose RealTime, USR tags are not created when the component is generated.  Although there are no USR tags, you can navigate to that corresponding element in Eclipse.  Instead of positioning the cursor after the // {{{USR tag and before the // }}}USR tag, the cursor is positioned at the top of the file.	
RATLC00520561 / IC40188	Unable to rename a package using some Chinese characters when running Rose RealTime on Simplified Chinese or on English Windows with the system default locale set to Simplified Chinese.	
RATLC00523150 / IC41231	In Rose RealTime CPP, making a change to a large source file and subsequently requesting a codesync may cause Rose RealTime to hang.	
RATLC00526499 / IC42118	Connexis CRM connection not re-established in certain situations.	
RATLC00526781 / IC42179	The following section in the on-line help is incorrect: 

Toolset Guide -> Creating Class Diagrams -> Using State Machine Code Generation for Classes -> Configureing the trigger Stereotype for an Operation.

According to this on-line help documentation, functions with the <trigger> stereotype cannot have arguments. These functions are used to trigger state transitions in passive classes.   

This should correctly state that functions with the <trigger> stereotype can have parameters/arguments (are supported) and in this case the correct code is generated.	
RATLC00530980 / IC43605	Checking out a file from ClearCase through Rose RealTime causes Rose RealTime to lose focus.	
RATLC00531216 / IC43776	Running multiple sessions of Rose RealTime simultaneously is not supported.  Problems may also occur when utilizing certain features of Rose RealTime (i.e. as COM servers), in concurrent sessions.	
RATLC00960625	Unable to Reverse Engineer CORBA, if IDL filename includes a hyphen "-".  This issue is due to current Rose RealTime constraint on component names in component view: 
Component Name can not be empty; can not contain spaces, must start with a letter or '_' and must be made up of ANSI alphanumeric characters"

When reverse engineering,  the IDL file will be mapped to a component in the Rose RealTime model.	
RATLC00960634	When adding two classes with same name i.e. "ABC" in both UsecaseView and LogicalView, while adding the second class Rose RealTime displays a warning to the user that "Class 'ABC' now exists in multiple name spaces.  Rose RealTime will not display the qualified name in the Standard Specification dialog.	
 
Contacting IBM Rational Software Support
The IBM software support Internet site provides you with self-help resources and electronic problem submission. The IBM Software Support homepage can be found at http://www.ibm.com/software/support.
Voice Support is available to all current contract holders via a telephone number in your country (where available). For specific country phone numbers, please refer to the IBM Software Support Handbook, Appendix B: Contact Information, found at http://www.ibm.com/software/support.