IBM Rational Rose RealTime

Release Notes

Version 7.0.0.1
Windows
GI11-6304-01

Before using this information, be sure to read the general information under Appendix. Notices.

Contents

Tables
About this document
Who should read this document
Related information
About this release
Obtaining the latest release notes
Installing this release
Rational Rose RealTime v7.0.0.1 Enhancements
Rational Rose RealTime v7.0 Enhancements
Rational Rose RealTime v2003.06 Enhancements
Announcements and changes
Installing IBM Rational Rose RealTime
Restrictions and guidelines
Status of change requests
Known problems
Problems that affect globalized versions
Problems fixed in this release
Contacting IBM Customer Support for Rational software products
Downloading the IBM Support Assistant
Appendix. Notices

Tables

  1. Problems fixed in v7.0.0.1 of Rational Rose RealTime

About this document

This edition replaces 2003.06.00.

Copyright International Business Machines Corporation 1995, 2006. All rights reserved. US Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM(R) Corp.

This document provides information about installing and using IBM Rational Rose RealTime, including system and software requirements; new features and enhancements; current known issues and defects fixed.

Who should read this document

This document provides information intended for these users:

Related information

Documentation for IBM Rational is available on-line at http://www.ibm.com/software/rational/support/documentation.

Rose RealTime Documentation

Rational Rose RealTime printed documentation has not been updated for this release. Please note that you can still order the previous version of printed documentation, most of which remains valid for this release.

Product documentation is available on the IBM Publications Center, where you can download documents or purchase printed copies. To find documentation:

  1. Search www.ibm.com for "IBM Publications Center."
  2. At the IBM Publications Center, select a country.
  3. Click Search for Publications.
  4. Enter either the document title or publication number in the appropriate search field.
    1. To search for a document by its title, enter the title in the Search on field.
    2. To search for a document by its publication (GI11-6304-01) number, enter the number in the Publication number field.

Product documentation at the IBM Publications Center also includes the following:

Note:
This Release also includes an Addendum document. This addendum provides you with important information regarding Rational Rose RealTime versions. The information in this addendum supersedes the information found in the online Help and hardcopy documentation included in Rational Rose(R) RealTime version 7.0. You can find the pdf for the book Addendum, Rational Rose RealTime located in rosert-home-dir/Help/rosert_addendum_2003.pdf..

About this release

This section describes new features and other changes introduced in Rational Rose RealTime Version 7.0.

Obtaining the latest release notes

You can download the most current edition of this document from the IBM Publications Center, as follows:

  1. Search www.ibm.com for IBM Publications Center.
  2. At the IBM Publications Center, select a country.
  3. Click Search for Publications.
  4. Enter the publication number (GI11-6304-01) in the Publication number field.

Installing this release

For instructions on installing Rational Rose RealTime, see the IBM Rational Rose RealTime Installation Guide. To obtain this document, see Rose RealTime Documentation.

Rational Rose RealTime v7.0.0.1 Enhancements

Rose RealTime C++ Enhancement

Extended Support for simple C++ types in protocols

In addition to the original existing C++ data types, you may now select unsigned (in addition to signed) C++ data types from the Signal Specification dialog.

Rose RealTime ClearCase Integration Enhancement

Improved Efficiency when performing ClearCase actions through Rose RealTime

It is no longer necessary to click on the Parameters... button of the corresponding dialog, while performing ClearCase actions such as Check Out, Check In and Undo Checkout within Rose RealTime, in order to set the properties such as Reserved Check Out or Save copy of the file with a .keep extension etc.

The following describes the new check-box options in standard Rose RealTime / ClearCase integration dialogs.

  1. Check Out dialog
  2. Undo dialog
  3. Check In dialog

Rose RealTime Toolset Enhancements

Suppress Code Generation warning "transition has no events" for capsules with 'abstract' stereotype

An 'abstract' stereotype may now be applied to capsules.

Now, the warning message "transition has no events" will be suppressed when generating code for a capsule if the capsule's stereotype is set to abstract even if there are no apparent triggers associated with a transition. In this case, the triggers may be defined in the derived capsule state diagram.

The warning message "transition has no events' will continue to display when generating code for capsules for which the stereotype is not set as abstract when there are no triggers associated with the transition.

Also, when the notification check-box is cleared - the "transition has no events" warning will not display in any case.

To suppress the "transition has no events" warning for a capsule which contains transitions without associated triggers, set the capsule's stereotype to 'abstract' in the Capsule Specification.

Ability to Browse Generated Makefiles

You may now view Makefiles generated for specific components, within Rose RealTime.

Upon selecting a component and selecting the File menu, a new "Browse Generated Code" menu option is available which includes the following sub-menu options:

Note:
It will be possible to edit the Makefile in addition to viewing, however, this would be similar to editing the Makefile from any external editor and the same considerations apply.

Enhanced Flexibility and Performance by providing ability to Build Multiple Components

You may now build multiple components without verifying all dependencies and performing a recursive make. This significantly reduces the amount of time necessary to perform a build, when it is only necessary to build specific multiple components.

In order to build specific multiple components:

  1. Select the components you wish to build in the browser and right click to show the new context menu "Build Multiple Components".
  2. Selecting the new context menu will cause the standard Build... dialog to display.

    The Build... dialog offers the ability to Generate code or Generate and compile (link).

When utilizing the "Build Multiple Components" option, Rose RealTime will only verify the dependencies among dependent components. The build will be consistent only up to the dependency hierarchy where you have selected the component.

Limitations:

Note:
After performing a component build ("Build Multiple Components") it will be important to verify parent components are in a consistent state.

Ability to perform Multiple Select Drag and Drop

For the following use case scenarios, you may multi-select elements from a source list and drag and drop them to the target list. The items selected will be copied or moved, according to the appropriate semantics of the drag and drop functionality between these lists.

  1. Multiple Drag and Drop attributes or operations from:
  2. Drag and Drop signals from within Protocol Class Specification dialog (Signals tab)

Limitations:

Future Drag and Drop scenario considerations:

Rational Rose RealTime v7.0 Enhancements

Rose RealTime C++ Enhancements

Ability to generate code for operation parameter documentation, signals documentation in protocol, enum, and attribute documentation fields

The generated documentation appears as shown below:

enum AnEnumeration
{
// {{{RME classEnum 'red'
// {{{RME general 'documentation'
/* {{{USR
.......................
}}}USR */
// }}}RME
// }}}RME

Generates documentation for protocol fields
-----------------------------------------------------
// {{{RME inSignal 'ack1'
// {{{RME general 'documentation'
/* {{{USR
.............................
}}}USR */
// }}}RME
inline RTInSignal ack1( void );
// }}}RME

Ability to include dependent component paths

This enhancement assures that the inclusion path of the component, which the component being built is dependent upon, is included to facilitate a successful compilation. A new code generation flag (-finclude-dependentpath) is now available, as described below.

Rose RealTime ClearCase Integration Enhancements

Options to check-out (check-in) controlled units under currently selected controlled unit recursively

You now have the ability to check-out or check-in all appropriate controlled units recursively under the currently selected controlled unit.

Steps below describe how to utilize this feature:

  1. Right click on the controlled unit you wish to check-out and select Source Control > Check Out (recursively all Child Units). Alternatively, you will also see the option Source Control > Check In (recursively all Child Units) to check-in all controlled units.
  2. A dialog box will appear, listing all applicable checked-in or checked-out units. You have the ability to de-select any units you do not wish to check-out or check-in.
Note:
Doc-link documents attached to any model element will not be checked-out or checked-in utilizing this functionality. It is not necessary to check-out these documents when performing petal version update.

New Maintain last controlled unit state option available

Originally, when trying to control a unit, a message would be displayed asking you to confirm the request. Also, you had the option to control all the subunits. If the unit being "controlled" belonged to a unit which was NOT controlled, a warning was displayed.

Now, you have the flexibility to control the unit, which may not belong to a controlled unit (no warning messages are displayed). Also the state is preserved for the last control/uncontrol operation and is carried across units.

A new check-box Maintain last controlled unit state is available in the File tab of the Tools > Options dialog.

When checked you may control a unit which does not belong to a controlled unit (no warning is displayed). Also, the state of this option is preserved throughout the existing and new Rose RealTime sessions, when controlling / un-controlling units. The setting is maintained in the RoseRT.ini file.

Rose RealTime Toolset Enhancements

Force save all units

You may now automatically save all write-able units in an existing Rose RealTime model to the new Rose RealTime V7.0 petal version, as described below.

  1. A new option Force save all units is available in the File tab of the Tools > Options dialog (default value is un-checked = False).
  2. Select the Force save all units option.
  3. Check-out all the units which need to be saved (updated).
    Note:
  4. Save the Model.

All write-able units will now be updated with the new petal file format and version.

Note:
Once models are upgraded to new petal version it is strongly recommended that you disable the Force save all units option. Otherwise, you may notice a performance delay in subsequent model Save operations due to unnecessary petal updates.

Ability to set user defined sort order in browser

You now have the opportunity to display elements (within the same hierarchy) in user defined sort order. This new feature is described below.

Note:
The User Defined Order option may only be used for elements in the Model view tab of the Rose RealTime browser. You will not be able to utilize this feature in other view tabs (i.e. Containment view tab, Inheritance view tab, etc.).

Automatic refresh before editing a source controlled element

While the model is refreshing (in the background), you may automatically refresh a specific element you wish to update by double-clicking on the element in the browser. Once the element is refreshed, the standard action which occurs when double-clicking is applied (i.e. displaying the specification dialog, opening diagram, etc.).

Note:
The automatic refresh will only occur the first time the user double-clicks on the element, while the model is refreshing in the background.

Ability to show Choicepoint code

A new context menu option called Show Choicepoint Code has been added to the context menu of the state diagram editor. Using the Show Choicepoint Code option it is possible to display code for choicepoints on the diagram, similar to transitions.

Note view link check & correct updates when diagrams moved

Note view links to diagrams that are moved are now updated. A check is also added when opening a model. If there is an invalid note view link to class diagram "Logical View/NewDiagram" in the class diagram "Logical View/Main", while loading the model the following warning message appears in the toolset Log window:

Warning: Invalid noteview link "Class Diagram: Logical View / NewDiagram" in diagram "Class Diagram: Logical View / Main."

You may also see the following types of warning messages:

Warning: Invalid noteview link "Class Diagram: Logical View / NewDiagrams" in diagram "Class Diagram: Logical View / Main"

Warning: Invalid noteview link "Component Diagram: Component View / NewDiagram" in diagram "Component Diagram: Component View / Main"

Display sequence diagram name when using Find

When using Find function in a collaboration diagram to search for attributes in the code - the interaction diagram name was displayed instead of the sequence diagram name.

A new function is available to construct the qualified name so that the corresponding sequence diagram name is now displayed in the result.

Addition of RRTEI function to obtain all selected classes in browser

Description: Returns all ClassDiagram selected in the current model.

Syntax:

Set theClassDiagramCollection = theModel.GetSelectedClassDiagram()
theClassDiagramCollection
As RoseRT.ClassDiagramCollection - Returns the collection of ClassDiagram currently selected in the model.theModel
As RoseRT.Model - Instance of the model from which protocols are being retrieved.

Sample Code:
Sub Main Viewport.Open Viewport.Clear.
Print "Selected ClassDiagram Count",RoseRTApp.CurrentModel.GetSelectedClassDiagram.count
If (RoseRTApp.CurrentModel.GetSelectedClassDiagram.count>=1) Then
msgBox("Element Selected") Else msgBox("Nothing Selected") End If
End Sub

Rational Rose RealTime v2003.06 Enhancements

Rose RealTime C++ Enhancements

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.

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 RealTime CORBA Enhancements

Addition of CORBA Add-In

The CORBA Add-In is included in the Rose RealTime V2003.06.15 Release.

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 Rational Rose or Rational 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.

New registry entry to prevent Rose CORBA from deleting old artifacts from the logical view

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.

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:

  1. 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.
  2. 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.

Rose RealTime Java Enhancement

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 Rose RealTime Java 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:

You will now be able to access the Rose RealTime Java 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 iimplementation operations of the receiver class.

Note:
If the receivers class language is not Rose RealTime Java, the original behavior remains - only the public operations of the receiver class are listed.

Rose RealTime Java 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 Rose RealTime Java.

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

Let class1 be the sender class and class2 be the receiver class.

Case 1: Default behavior

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())

Note:
The Rose RTJava Improvement to Method Visibility in Sequence Diagrams has the following limitation:

Hot Link operations will not work (i.e. operation specification dialog will not open) correctly on an operation, if selecting an operation in the operations drop-down list when OpsVisibility ="1"(the operation should not be shown by default in the list), and then we reset the OpsVisibilityto a value other than1.

You may disable this dialog box by enabling the check box.

Rose RealTime Model Integrator Enhancement

Rose RealTime Model Integrator filter enhancement

Selecting Rose 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 (which you wish to ignore in the Model Integrator comparison or merge):

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), 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.

Rose RealTime Toolset Enhancements

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 Children.

On class diagrams, the protocol context menu will carry one additional option Show All overridden Signals.

Selecting Show All Overridden 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-dir/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 the Rose RealTime Code Editor

Note:
Word-wrap no longer an available or supported option in Rose RealTime code editor.

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).

The following new methods have been added to provide access to Note contents. This methods are added to the Note view and return a boolean value (True = successful, False = Failed).

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) to be moved.

  2. Remove the source control file of a ControllableElementfrom 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 ControllableElement 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.

RUPSE Add-In now included in Rose RealTime

A new Add-In called RUPSE(Rational Unified Process Systems Engineering) is shipped with this release. Refer to the file Add-In Release Notes.doc in the rosert-home-dir/RUP-SE folder for more information on how to install and use this Add-In.

Enhancement to enable regular expressions "and" (&) And "or" (|) in search functions

Two new operators may be used in search expressions

To search for '&' and '|' use the escape character, for example to search for '&' the search string would be \&.

Announcements and changes

This section contains announcements about important changes to IBM Rational Rose RealTime.

The following has been added in this release:

The following support has been removed in this release:

For more information about hardware and software requirements, see System and software requirements.

Installing IBM Rational Rose RealTime

This chapter describes updates to the documentation that pertain to installing Rational Rose RealTime.

For full instructions on installing Rational Rose RealTime, see the IBM Rational Rose RealTime Installation Guide. To obtain this document, see Rose RealTime Documentation.

System and software requirements

You can find the minimum supported configuration requirements for running Rational Rose RealTime in the chapter Referenced Configurations in the Addendum, located in rosert-home-dir/Help/rosert_addendum_2003.pdf. This Release supports the following Operating System:

What to do after installation

For additional information on issues with Rational Rose RealTime (prior to v2003.06.13), see the chapter, General Issues in the Addendum, located in rosert-home-dir/Help/rosert_addendum_2003.pdf..

For help on the new and modified information included in this Release, see the Rose RealTime Release Notes, located in rosert-home-dir/rosert_readme.html.

Toolset

Run the toolset and ensure that the version number is correct. In Rational Rose RealTime, click Help > About Rational Rose RealTime and verify that the version number for Rational Rose RealTime is 7.0.0.1. If the version number is not the same, the Release was not installed correctly.

Code Gen

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

No additional steps are required.

RTJava Models

If you wish to take advantage of the problems fixed in the RTJava code generator, you need to rebuild your Java(TM) models.

C TargetRTS

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

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 & C++ Models

If you wish to take advantage of the problems fixed in the code generators, you need to rebuild and re-link your models.

Connexis(TM)

If you wish to take advantage of the problems fixed in the DCS, you need to rebuild and re-link your models. It will also be necessary to rebuild the DCS library if your target is not one of the pre-built DCS libraries supplied in this Release.

Restrictions and guidelines

This section describes noteworthy restrictions and guidelines that affect the use of IBM Rational Rose RealTime. These are not considered defects because the behavior is not expected to change in a future release.

IMPORTANT NOTICE!! Microsoft Windows 2000 NTFS "Change Journal" defect can cause file system corruption during installation of Rational(R) products

Under certain circumstances, file system corruption can result from installing Rational Version 7.0.0 products on Windows 2000 to an NTFS partition that has enabled the Windows "Change Journal" (log). This corruption is caused by a defect in Windows 2000. Before you install any Rational Version 7.0.0 product on a computer that is running Windows 2000:

  1. Disable all virus detection software.
  2. Read IBM Support Technote 1135295. Go to http://www-1.ibm.com/support/us/search/index.html and search for "Rational Installer Change Journal".
  3. Read Microsoft Knowledge Base article 820888 at http://support.microsoft.com/default.aspx?scid=kb;[LN];820888. This article includes information about an update from Microsoft that fixes the defect.

Upgrading from Rational Rose RealTime version 2003.06.00

If you are installing Rational Rose RealTime v2003.06.01 or greater as an upgrade to an existing installation of Rational Rose RealTime 2003.06.00, the Rose RealTime TargetRTS files may not update (install) correctly. In order to avoid unpredictable results, uninstall Rational Rose RealTime v2003.06.00 before installing Rational Rose RealTime v2003.06.01 or greater. This is a known issue: RATLC00517283.

Installing Rational Rose RealTime after installing Rational Suite(R) DevelopmentStudio

If you install products from Rational Suite DevelopmentStudio, and then install Rational Rose RealTime, select Add-Ins > Add-In Manager and select the appropriate add-ins, such as SoDA(R), RequisitePro(R), and Trace Tool. Selecting these tools activates the integration of Rational Rose RealTime with those tools.

Status of change requests

Known problems

This section describes known problems in this release of Rational Rose RealTime.

Known Rose RealTime C++ Defects

IC38249; RATLC00517276; C and C++ reference manuals not updated regarding passive class state machines.

The rosert-home-dir\help\rosert_c_ref_guide.pdf and the rosert_cpp_ref_guide.pdf do not include updated information in relation to passive class state machines. On page 16 in the C guide it indicates: "Note: Protocol and Class State diagrams are ignored by the C generator." And on page 46 in the CPP guide it indicates: "Note: Protocol and Class State diagrams are ignored by the C++ generator".

This is now only true for Protocol state diagrams.

IC41231; RATLC00523150; In Rose RealTime C++, making a change to a large source file and subsequently requesting a codesync may cause Rose RealTime to hang.

PK29745; RATLC00388152; Compilation may fail when comment is set to signal.

This is a regular case of nested C style comments and can be noticed with Capsules, Classes etc. as well.

It is recommended to type the documentation without C style comments.

/* {{{USR
/* this is a comment */
/* this is another comment */
}}}USR */

RATLC00518995; 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.

Known Rose RealTime Web Publisher Defect

IC39660; RATLC00210239; Rose RealTime Web Publisher can consume a large amount of memory when Web Publishing large models.

Known Rose RealTime RRTEI Defect

IC41774; RATLC00516159; RRTEI functions component.AddInclusionPath and component.AddUserLibrary always return true.

Workaround: You may set these properties using the OverrideProperty method:

The Inclusionpaths in the C++ Compilation tab of the Component specification dialog can be set using the Component.OverrideProperty method.

An example script, shown below.
------------------------------------------------------------------------------------------------------
line 0: Dim otExtMsgPath As String
line 1: otExtMsgPath = "$(CCASE_PATH)/Messaging/otExtMsg/include"
line 2: otExtMsgPath = Chr(34) + otExtMsgPath + Chr(34) + Chr(10)
line 3: otExtMsgPath = OldPaths + otExtMsgPath ' append the new path to the old paths
line 4: isOverridden = theComponent.OverrideProperty("C++ Compilation", "InclusionPaths", otExtMsgPath) '

------------------------------------------------------------------------------------------------------
Line2 description:
To enable the Compute Dependencies flag in the
"inclusion paths" dialog change line 2:
otExtMsgPath = Chr(34) + otExtMsgPath + Chr(34) + "ComputeDeps" + Chr(10)
To add more number of paths change line 2:
otExtMsgPath = Chr(34) + "Path1" + Chr(34) + Chr(10) + Chr(34) + "Path2" + Chr(34) + Chr(10)

Line3 description:
To append new path to existing path change line 3:
otExtMsgPath = OldPaths + otExtMsgPath

To override the path with new path, append to the OldPaths string.
To set the UserLibraries:Dim UsrPath As String UsrPath = "new path"
isOverridden = theComponent.OverrideProperty("OT::CppExec","UserLibraries", UsrPath)

Known Rose RealTime / ClearCase Integration Defects

IC43605; RATLC00530980; Checking out a file from Rational ClearCase through Rational Rose RealTime may cause Rose RealTime to lose focus.

IC45453; RATLC00142001; Attempting to build Rational Rose RealTime application with Rational ClearCase omake may produce the following error message.

: > Compiling comp
comp.cpp omake: Error: Don't know how to make ""../../libComp/build/libComp.LIB"".
Stop.
omake: Unable to lookup target "comp.EXE" .
Stop.
omake: Shell line exit status 1.
Stop.
Error: Build failed status 0x3

Workaround: When this occurs use this option/value: CompilationMakeArguments: -k -s -EN.

RATLC00524885; Compute dependencies and Rational ClearCase.

InclusionPaths (Component, C++ Compilation) are for dependency checking between the executable being built and include files such as stdio.h (system files) and my.ext.h (external library include files). If ClearCase/clearmake is used and configured properly, compute dependencies for InclusionPaths should not be necessary for wink-in, assuming that the *.h files are stored in the VOB. The config records will reference the *.h files for the derived object(s). The benefit of turning off compute dependencies would be negligible compared to other build factors, unless there are an unusually large number of include files to check.

Known Rose RealTime Toolset Defects

IC42179; RATLC00526781; The following section in the on-line help is incorrect:

Toolset Guide > Creating Class Diagrams > Using State Machine Code Generation for Classes > Configuring 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.

IC43776; RATLC00531216; 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.

RATLC0046261; Request to change RTTimespec member tv_sec from long to unsigned long.

Unable to change time data members to long as not all compiler support long long (unsigned long).

RATLC00512567; Online help example for RTMessage_getPortIndex is incorrect.

The code sample included in online help causes compilation errors.

To avoid these errors, change the example to the following:

const RTMessage * msg = RTCapsule_getMsg( &this->std );
/* reply to message */
RTPort_sendAt(
&this->port,
RTMessage_getPortIndex( msg ),
RTPort_createOutSignal( port, reply ),
RTPriority_High,
&someData,
&RTType_typeOfSomeData );

RATLC00518524; Cursor incorrectly positioned in Eclipse when Generate Model Tags is unchecked for component.

RME tags are necessary to position the cursor correctly.

RATLC00960634; When adding two classes with same name i.e. "ABC" in both UseCase view and Logical view, 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.

Known Rose RealTime CORBA Add-In Defects

RATLC00960625; Unable to Reverse Engineer CORBA, if IDL filename includes a hyphen "-".

This issue is due to the 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.

RATLC00962126; Rose RealTime CORBA IDL may not generate correctly.

This problem occurs only when the nested classes are used and the non-nested class is assigned to the component, when user tries to model an IDL as shown below using the CORBA Add-In.

module myPkg
{
interface Inter
{ typedef long myType;
struct myStruct
{
myPkg::myStruct::myType somedata;
};
};
};

It is recommended to create the class myType with stereotype CORBATypedef first. Then create the other elements such as myStruct which uses this type. If the above steps are not followed then the generated IDL may look like this:

module myPkg
{
interface Inter
{ struct myStruct
{
myPkg::myStruct::myType somedata;
};

typedef long myType;
};
};

The error is that the type MyType is used before its definition.

Problems that affect globalized versions

IC40188; RATLC00520561; 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.

PK11790; RATLC01098899; When Rose RealTime model is under a directory name with Japanese character, build may fail or execute.pl not found error may occur.

To build Rose RealTime models on Japanese Windows version, the Windows regional settings must be "Japanese". If the regional settings are English or any other language then the model will fail to build. You may change the regional settings by selecting Start > Control Panel > Regional and Language Options and select the Japanese option from drop down list.

RATLC00962257; JDK 1.4 or higher required to Web Publish models on Japanese OS.

Problems fixed in this release

This section lists the problems fixed in this release of Rational Rose RealTime.

Table 1. Problems fixed in v7.0.0.1 of Rational Rose RealTime
Component Problem ID Description
Rose RealTime C PK29464; RATLC00146014 Rose RealTime C Code generator fails when generating protocol without signals.
Rose RealTime C PK30049; RATLC00146225 Documentation is generated even if "Do not generate" option is set in case of protocol signals.
Rose RealTime C++ PK15081; RATLC01103805 Rose RealTime may crash when changing attribute name.
Rose RealTime ClearCase Integration PK19678; RATLC00512487 *.rtintractn is now added to cc_rosert_unit.magic for Sequence diagrams.
Rose RealTime ClearCase Integration PK30409; RATLC00388354 Rose RealTime / ClearCase integration does not display anything from "Source Control -> Show History" when Rational ClearCase v7.0 is used.

This was due to a change in the date format returned by the ClearCase v7.0 release.

Rose RealTime ClearCase Integration RATLC00147393 cm_getcomment required for RATLC00212073..

The following Error will occur when attempting to perform a Rose RealTime / ClearCase Check In operation:

"Comments" operation failed. See log for details.

The log will contain the following information:

13:32:44| Error: Command failed to execute: Can't open perl script "C:\Program Files\Rational\Rose RealTime\bin\win32\cmscripts\cc\cm_getcomment": No such file or directory.

In the Check In dialog box the comment field will be empty.

Rose RealTime Connexis RATLC00248781 Rose RealTime applications may crash while calling port->size (RTProtocol::size()).

This problem may occur when disconnections and re-connections of ports occur frequently.
Rose RealTime Model Integrator IC48675; RATLC00542123 Version stamps in petal files may cause the Rose RealTime Model Integrator to generate a non trivial merge.

A new filter flag "Ignore Version" has been added This flag is "on" by default and version information from the base contributor will be selected. This flag has to be turned off if you wish to choose one specific version.
Rose RealTime Model Integrator PK32496; RATLC00146803 Rose RealTime Model Integrator updates model with UNIX path separators "/" instead of Windows path separators "\\"

The Rose RealTime v2003.06.13 Model Integrator updates model file entries chDirName, file_name and external_doc_path with UNIX path separators ("/") to maintain consistency between the UNIX and Windows Model Integrator.

A new registry flag has been added allowing you now to use any of the UNIX ("/") and Windows ("\\") path separators for the entries chDirName, file_name and external_doc_path.

Now, you may set the path separator style (UNIX / Windows) which will be used by the Rose RealTime Model Integrator for the directory/file properties: chDirName, file_name and external_doc_path, by setting a new registry string UseWindowsPathSeparator under HKEY_CURRENT_USER\SOFTWARE\Rational Software\Rose RealTime\6.5.

  • If UseWindowsPathSeparator is set to value Yes (care insensitive) the Model Integrator will use the Windows style ("\\") path separators for the directory/file properties.
  • If UseWindowsPathSeparator is set to value other than Yes OR registry entry is missing the Model Integrator will use the UNIX style ("/") path separators for the directory/file properties. This is the default behavior.

    The UseWindowsPathSeparator registry flag will be effective throughout the Rose RealTime Model Integrator session. After making a change to this registry flag, it will be necessary to restart the Model Integrator to reflect the change.

Rose RealTime Model Integrator RATLC00962702 Ability to ignore userDefinedSortWeight flag while using Model Integrator.

The UserDefinedSortWeight field was added to the Rose RealTime petal file based on RATLC00046354. The addition of this field in the petal file resulted in the Model Integrator showing differences with respect to the models saved prior to the addition of this field in the petal file. A flag "Ignore User sortweight" was added in the Model Integrator filter which allows you to control displaying this difference.

Rose RealTime Toolset IC48989; RATLC00963322 Rose RealTime may crash upon opening a custom framework model and then loading any other model.

This occurred while Rose RealTime was attempting to free memory.
Rose RealTime Toolset RATLC00144592 Rose RealTime could crash while loading an old Rose RealTime model, as a check for a null pointer was missing.
Rose RealTime Toolset PK14369; RATLC00143829 Selecting the Apply button may cause the code window to re-position to the beginning.

When transition code is changed at the end of the code and then the Apply button is pressed, the code window and scroll-bar jump to the beginning of the transition code. The location should remain the same as before pressing the Apply button.

Rose RealTime Toolset PK22147; RATLC00144674 Port labels may rearrange in base class, when doing a specialization.

When a specialization of a capsule is made, the position of port labels in the base class (capsule) may revert to the default position. This occurs due to repositioning of the labels in the base class.

Rose RealTime Toolset PK25886; RATLC01184853 ClassDependency (RRTEI) is not accessible when part of a ModelElementCollection.
Rose RealTime Toolset PK26878; RATLC00387628 Rose RealTime may fail to launch the RUP-SE Add-In.
Rose RealTime Toolset PK29501; RATLC00146043 Rose RealTime may crash when adding an actor to a Collaboration Diagram in the Use Case view.
Rose RealTime Toolset PK30432; RATLC00547659 Problem refreshing from source control with a large number of files in one directory.

When there are a number of files (controlled units) under the same directory, then there will be problem while opening the model under source control.
Rose RealTime Toolset PK35354; RATLC01186827 Aggregation of states in the base capsule may change the layout of the sub-diagrams of those states in the inherited capsules.
Rose RealTime Toolset PK34385; RATLC00147258 Performance delay when attempting to add a dependency in Class Specification dialog.
Rose RealTime Toolset RATLC00962869 Rose RealTime may crash upon running the RRTEI script when creating invalid (null) relation.
Rose RealTime Toolset RATLC001185716 RRTEI event requested to determine if background refresh of CM information is completed.

Two new events added:
  1. OnBackGroundRefreshStart
  2. OnBackGroundRefreshFinish

Contacting IBM Customer Support for Rational software products

If you have questions about installing, using, or maintaining this product, contact IBM Customer Support as follows:

The IBM software support Internet site provides you with self-help resources and electronic problem submission. The IBM Software Support Home page for Rational products can be found at http://www.ibm.com/software/rational/support/.

Voice Support is available to all current contract holders by dialing a telephone number in your country (where available). For specific country phone numbers, go to http://www.ibm.com/planetwide/.

Note:
When you contact IBM Customer Support, please be prepared to supply the following information:

Downloading the IBM Support Assistant

The IBM Support Assistant (ISA) is a locally installed serviceability workbench that makes it both easier and simpler to resolve software product problems. ISA is a free, stand-alone application that you download from IBM and install on any number of machines. It runs on AIX(R), (RedHat Enterprise Linux(R) AS), HP-UX, Solaris, and Windows platforms.

ISA includes these features:

For more information about ISA, including instructions for downloading and installing ISA and product plug-ins, go to the ISA Software Support page.

IBM Support Assistant: http://www.ibm.com/software/support/isa/

Appendix. Notices

This information was developed for products and services offered in various countries throughout the world. IBM may not offer the products, services, or features discussed in this document in every country. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service.

IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not grant you any license to these patents. You can send license inquiries, in writing, to:

IBM Director of Licensing 
IBM Corporation North Castle Drive 
Armonk, NY 10504-1785 
U.S.A.

For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to:

IBM World Trade Asia Corporation Licensing 
2-31 Roppongi 3-chome, Minato-ku 
Tokyo 106, Japan

The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.

This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice.

Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.

IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you.

Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact:

IBM Corporation 
Department BCFB
20 Maguire Road
Lexington, MA 02421 
U.S.A. 

Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee.

The licensed program described in this document and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any equivalent agreement between us.

Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurement may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment.

Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.

USE OF SAMPLES CONTAINED IN THIS INFORMATION:

This information may contain sample application programs in source language, which illustrates programming techniques on various operating platforms.

Each copy or any portion of these sample programs or any derivative work, must include a copyright notice as follows:

(c) (your company name) (year). Portions of this code are derived from IBM Corp. Sample Programs. (c) Copyright IBM Corp. _enter the year or years_. All rights reserved.

ADDITIONAL NOTICES:

Additional legal notices may be included with the license agreement accompanying the licensed program described in this document.

TRADEMARKS:

AIX, ClearCase(R), ClearCase Attache(R), ClearCase MultiSite(R), ClearDDTS(R), ClearGuide(R), ClearQuest(R), DB2(R), DB2 Universal Database(TM), DDTS(R), Domino(R), IBM, Lotus(R) Notes, MVS(TM), Notes, OS/390(R), Passport Advantage(R), ProjectConsole(TM) Purify(R), Rational, Rational Rose, Rational RoseRealTime, Rational Suite, Rational Unified Process(R), RequisitePro, RUP(R), S/390(R), SoDA, SP1, SP2, Team Unifying Platform(TM), WebSphere(R), XDE(TM), and z/OS(R) are trademarks of International Business Machines Corporation in the United States, other countries, or both.

Java and all Java-based trademarks and logos are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.

UNIX(R) is a registered trademark of The Open Group in the United States and other countries.

Linux is a trademark of Linus Torvalds in the United States, other countries, or both.

Other company, product or service names may be trademarks or service marks of others.