Rational® Rose RealTime® Patch Notes


Updated:
07/21/2003 12:11:29 PM

This file is located in: <ROSERT_HOME>/rosert_2003_06_00_GA02_patch_note.html


Version 2003.06.00


Copyright © 2003 Rational Software Corporation. All Rights Reserved.

This documentation (the "Work") is protected under the copyright laws of the United States and/or other jurisdictions, as well as various international treaties. Any reproduction or distribution of the Work is expressly prohibited without the prior written consent of Rational Software Corporation.

Legal Notices Information


Contents

Purpose of this Patch

Files Included in this Patch

What to do Before Installation

How to Install this Patch

What to do After Installation

Which Platforms are Supported

Defects Addressed in this Patch

Advanced Handling of Globally Unique Identifiers (GUIDs)

Naming of Junction Points on State Diagrams and Connectors on Collaboration and Structure Diagrams

Documentation Updates 

Contacting Rational Customer Support 

Legal Information

 


Purpose of this Patch


This patch addresses defects (see Defects Addressed in this Patch), and includes a new feature for using GUIDs (see Advanced Handling of Globally Unique Identifiers (GUIDs).

Files Included in This Patch

The following files are included. 

Note: The paths are relative to the <ROSERT_HOME> directory.

Windows

RQART/bin/win32/rqart.dll
RQART/bin/win32/rqartRes.dll
bin/win32/RoseRT.exe
bin/win32/RrtRes.dll
bin/win32/modelintRT.exe
bin/win32/modelintRTres.dll
bin/win32/rtcbld.dll
bin/win32/rtcgen.exe
bin/win32/rtcppbld.dll
bin/win32/rtcppgen.exe
bin/win32/rtjavaui.dll

UNIX

RQART/bin/sun5/librqart.so
RQART/bin/sun5/rqart.rsb
bin/RoseRT
bin/sun5/RoseRT
bin/sun5/RoseRT.rsb
bin/sun5/cc/compare.rsb
bin/sun5/cc/merge.rsb
bin/sun5/cc/xcompare.rsb
bin/sun5/cc/xmerge.rsb
bin/sun5/modelintRT
bin/sun5/modelintRT.rsb
bin/sun5/rtcbld.dll
bin/sun5/rtcbld.rsb
bin/sun5/rtcgen
bin/sun5/rtcppbld.dll
bin/sun5/rtcppbld.rsb
bin/sun5/rtcppgen
bin/sun5/rtjavaui.dll
bin/sun5/rtjavaui.rsb

[ Go To Top ]

What to do Before Installation

Verify that there is a valid version of Rational Rose RealTime v2003.06.00 installed and ensure that file and directory permissions allow writing to the files listed in Files Included in this Patch

If you installed Rational Rose RealTime using a Network or Administrative installation, the patch applies to the server computer only. Contact your administrator to install this patch. 

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

You do not need to install the GA-01 patch before installing this patch.

To install the GA-02 patch:

  1. Ensure there is no running instance of Rational Rose RealTime on the computer you want to update.
  2. Copy the appropriate compressed files for your platform to your <ROSERT_HOME> directory.

Copy GA-02.sun5.tar.gz, then run the following commands:

     cd $ROSERT_HOME
     gunzip < GA-02.sun5.tar.gz | tar xpf -

Copy the self extracting file GA-02.win32.exe, then run GA-02.win32.exe and click OK.

Note: By default, the extraction path is C:\Program Files\Rational\Rose RealTime. I f your <ROSERT_HOME> location is different from the default path, prior to extraction, change the path specified in the Unzip to folder path box appropriately.

[ Go To Top ]

What to do After Installation

The accompanying tar files from the patch are no longer required. However, if you want to retain these files if a re-installation is required, you can move the tar files to <ROSERT_HOME>/specials. 

For help on the new features included in this patch, see Advanced Handling of Globally Unique Identifiers (GUIDs).

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.5.344.0. If the build number is not the same, the patch was not applied correctly.

Code Gen

No additional steps are required.

RQA-RT

No additional steps are required.

RTJava Models

No additional steps are required.

Model Integrator 

No additional steps are required.

C++ TargetRTS

No additional steps are required.

C++ Models

No additional steps are required. Note: If you wish to take advantage of the problems fixed in the code generators, you will have to rebuild your models.

C TargetRTS

No additional steps are required.

C Models

No additional steps are required. Note: If you wish to take advantage of the problems fixed in the code generators, you will have to rebuild your models

Connexis

No additional steps are required.

[ Go To Top ]

Which Platforms are Supported

All Rational Rose RealTime 2003.06.00 supported platforms.

Defects Addressed in this Patch

The following defects were addressed in the GA-02 patch:

RATLC ID Description Resolution
RATLC00514873 GUIDs corrective content . Fixed. See Advanced Handling of Globally Unique Identifiers (GUIDs)
RATLC00514527 Codegen generates wrong code for nested classes. Fixed. 
RATLC00514872 RQART - Test with Cardinality. Fixed. 
RATLC00514736 RTMI chooses a faulty quid number. Fixed.
RATLC00514737 RTMI: Merge problem when moving capsule to another package. Fixed.
RATLC00514879 Problem merging sequence diagrams. Fixed.
RATLC00514922 Printing RoseRT 2003 on Unix not working. Fixed.
RATLC00515045 MI: Cannot scroll horizontally in the Browser View. Fixed.
RATLC00515060 N::_1clUniqueIdJserialize6MrnclCArchive_v_ - Crash when Cut (Copy) and Paste on Activity Diagram. Fixed.
RATLC00515084 Crash when demoting roles plus connectors. Fixed.
RATLC00515333 C++ codegen problem with nested classes. Fixed.

[ Go To Top ]

Advanced Handling of Globally Unique Identifiers (GUIDs)

Background

Rose RealTime assigns Globally Unique Identifiers (GUIDs) to primary model elements (Class, Package, Component, Use Case, etc.) so that the Model Integrator can easily identify  model changes where a model element was renamed or moved, and merge the elements from the contributors.  GUIDs are normally computed using a time based algorithm to ensure that they are always unique. GUIDs for element properties such as operations, attributes, states, transitions, triggers, etc., are optional, and were set as off by default in previous releases of Rose RealTime. A model property stored in the top model file indicates whether optional GUIDs should be used or not. In previous releases of Rose RealTime, disabling optional GUIDs resulted in the optional GUIDs being removed from the model.

Most model elements (such as classes, capsules and protocols) always have GUIDs generated; however, the generation of GUIDs for a number of other elements can be enabled or disabled through the user interface. Rational Rose RealTime generates GUIDs for these model elements when the Generate unique identifiers for all model elements on the General tab of the Model Specification for Model dialog box is selected.

The Problem

Before enabling the feature to turn GUIDs on in a multi-stream or multi-model environment, it was necessary to collapse all the models and streams into a single model. If a model element with a unique ID was imported into a model with this feature turned off, the optional GUIDs were removed. If a model element without a unique ID was imported into a model with this feature turned on, a unique ID was added. Because the unique ID was not protected, it was important to ensure that all models had this feature enabled to ensure that unique identifiers were preserved.

Resolution

This feature provides a controlled mechanism for propagating optional Globally Unique Identifiers (GUIDs) into a multi-stream model environment. The intent of this feature is to support a one-time upgrade of a model to enable GUIDs without having to create a single master model.  This patch introduces an alternate position and not time-based algorithm for GUID generation  which guarantees that the optional GUID for a property will be the same for properties in models which have the same name and reside in the same location. For example, NewClass1 in model A and B, has a state machine. Each state machine has a state S1. The old behavior of GUID generation would have assigned a time based GUID in each model causing merge conflicts. The new algorithm will use a name-position algorithm to assign the same GUID in each model.

If a model element property has a GUID and it is loaded into a model with optional GUIDs disabled, the GUID will be preserved. If a model element property without a GUID is loaded into a model with optional GUIDs enabled, a GUID will not be added. It is possible to have optional GUIDs enabled but GUIDs not present in the model. The feature provides an easy check to determine if optional GUIDs are missing from the model, and an easy method to add additional alternate GUIDs if optional GUIDs aren’t present. In rare circumstances the alternate GUID algorithm could generate a GUID which conflicts with a time-based GUID. For these cases the feature supports the generation of a single GUID. It is unlikely that this feature will be required for the majority of users.  

To activate the GUIDS feature for optional model elements, see Managing GUIDs.

Note: By default, all models created from Rational Rose RealTime Frameworks will have the GUIDs feature activated. We strongly recommend that you do not change the default settings for generating GUIDs in your models so as to ensure optimal Model Integrator merge sessions.

New Method for Generating GUIDs

Previously, before you could enable the Generate unique identifiers for all model elements option, all development streams had to be merged into one stream. This patch introduces new method of GUID generation which would attempt to generate the same GUIDs for the same elements across development streams.

Recommended Steps for Enabling GUIDs in Multi-Stream Development

To enable optional GUIDs, the simplest approach continues to be to enable them in a single model in a single stream in order to avoid conflicts between time based GUIDs and alternate GUIDs. If you have a multi-stream development environment where GUIDs are not enabled, we continue to recommend that you merge all streams into one before enabling optional GUIDs. (For a detailed explanation, see the topic To set the Generate unique identifiers for all elements option  in the Online help.)

For those cases where merging into a single stream is not practical, this feature also supports the incremental introduction of GUIDs into a multistream environment. When optional GUIDs are added incrementally in a multi-stream environment, there is a higher chance for a GUID collision where model elements share the same GUID. 

To minimize the change and impact of collisions:

  1. Ensure that there are no duplicate GUIDs (different model elements with the same GUID) in any of the streams since duplicate GUIDs will complicate the process. 
  1. Open each model from the development streams and select Add/turn on unique identifiers

Note: We advise adding optional GUIDs one model at a time and propagating the results across a team before starting the next model.

  1. Open Model Integrator and perform a trial merge of the models.
  1. Load the resulting model you created from the trial merge process into Rational Rose RealTime.

Note: If you receive the error message:

Warning: This model has multiple objects with the same unique id (XXXXXXXXXXXX)

 Take note of the duplicate unique IDs, and then identify them in the stream in which they appear.

  1. For each of the duplicate IDs you encounter, open the model corresponding to the ID and then select Regenerate unique identifier to re-generate it. 

    Note: This scenario is of low probability and not likely to occur.

  1. Perform a merge again to ensure that all duplicate GUIDs have been resolved. If there are no errors, save the result as the new baseline.

[ Go To Top ]

Managing GUIDs

The General tab on the Model Specification for Model dialog box was modified to include an option that specifies the GUID state of a model. The Generate for all elements option specifies the current state for generating unique identifiers for the model: ON or OFF.

 Click Advanced to select an action to perform with the unique identifiers.

 

[ Go To Top ]

Descriptions

Add/turn on unique identifiers

Activates the GUIDs feature and adds optional GUIDs to the elements that support optional GUIDs, but do not currently have a GUID.

Selecting this option shows the following dialog:

 Click Yes to start the process. 

Note: If you wish to see details in the log, ensure that the toolset option for command logging is enabled. Click Tools > Options, then set the Log commands option on the General tab. The Log tab in the Output window shows the number of GUIDs generated using a message like: Generated NNN hash GUIDs.

Check unique identifiers presence

Rational Rose RealTime will report how many model elements which support optional GUIDs do not have optional GUID currently assigned. If this is not zero, you need to use the menu item Add/turn on unique identifiers.

Regenerate unique identifier

When selected, provides you with the option to regenerate a GUID for a model element.

Selecting this option shows the following dialog:

 

 When specifying the GUID to regenerate, enter it exactly as it appears in the model file or in the duplicate ID error message. For example:

3EC115960177

If a GUID cannot be found in the model, the model will not be modified and the following error message is displayed:

 

If a valid GUID  was found in the model, the GUID will be regenerated for the first model element found that matches the supplied GUID, and references to the old GUID are replaced with references to the new GUID.

If the model contains more than one element with the specified GUID, the GUID will be regenerated for the model element that has an optional GUID.

Note: To see details in the log, ensure the toolset option for command logging is enabled. Click Tools > Options, then set the Log commands option on the General tab. After the process of regenerating GUIDs completes, check the log for messages

Remove/turn off unique identifiers

Deactivates the GUIDs feature and removes optional GUIDs from the model.

Note: We recommend that optional GUIDs always be enabled. Use this feature to remove GUIDs in cases where optional GUIDs are already enabled and you wish to replace them with alternate GUIDs.

[ Go To Top ]

Known Issues with GUIDs

  • Adding or removing unique identifiers might force Rational Rose RealTime to check out controlled units that will not be modified. Typically, those would be units that use elements with changing GUIDs, but do not use that GUID to reference to the element.

  • When using alternate GUIDs, it is possible to have more than one object with the same GUID, referred to as a collision. We estimate that the number of collisions is approximately one collision per 10MB of model for each development stream. This feature automatically resolves collisions in a single model, however, you should expect GUID collisions when enabling GUIDs in different streams. See Recommended Steps for Enabling GUIDs in Multi-Stream Development.

Naming of Junction Points on State Diagrams and Connectors on Collaboration and Structure Diagrams

Junction points on state diagrams, and connectors on collaboration and structure diagrams used to be named "Junction 1", "Junction 2", etc. and "C1", "C2", etc. These are now be named "J<GUID>" or "C<GUID>", where GUID is replaced with the GUID of the object. This affects UI operations only and will not change existing models.

This change prevents Model Integrator merge conflicts. For example contributor 1adds a transition t1 from state S1 to state S2. Contributor 2 adds a transition t2 from state S1 to S3. This should be a non-conflicting change, but previous versions of Rational Rose RealTime named the originating Junction in S1 for t1 and t2 with the same name, (eg: JUNCTION1) which would result in a merge conflict requiring user intervention during the merge. Using the new naming convention, the merge would be a non-conflicting change and the Model Integrator is able to resolve the changes automatically.

Documentation Updates

For the most recent documentation updates, visit the Product Support section of the Rational Rose RealTime web site at:

http://www.rational.com/support

Where printed documentation exists, always refer to the online Help or PDF versions of the book for the latest updates. 

[ Go To Top ]

Contacting Rational Customer Support

If you have questions about installing, using, or maintaining this product, contact Rational Customer Support.
Telephone and fax and email information

Your Location

Telephone

Fax

E-mail

North America

(800) 433-5444
(toll free)

(408) 863-4000
Cupertino, CA

(781) 676-2460
Lexington, MA

support@rational.com

Europe, Middle East, Africa

+31 (0) 20-4546-200
Netherlands

+31 (0) 20-4546-201
Netherlands

support@europe.rational.com

Asia Pacific

+61-2-9419-0111
Australia

+61-2-9419-0123
Australia

support@apac.rational.com


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

  • Your name, company name, telephone number, and e-mail address
  • Your operating system, version number, and any service packs or patches you have applied
  • Product name and release number
  • Your SR# (if you are following up on a previously reported problem)

Telephone, fax, and email information for Rational Customer Service are . If you have problems or questions regarding licensing, please see the tables below:

[ Go To Top ]

Legal Notices Information

Legal Notices

©1993-2003, Rational Software Corporation. All rights reserved.

This manual (the "Work") is protected under the copyright laws of the United States and/or other jurisdictions, as well as various international treaties. Any reproduction or distribution of the Work is expressly prohibited without the prior written consent of Rational Software Corporation.


Rational, Rational Software Corporation, the Rational logo, Rational Developer Network, AnalystStudio, ClearCase, ClearCase Attache, ClearCase MultiSite, ClearDDTS, ClearGuide, ClearQuest, ClearTrack, Connexis, e-Development Accelerators, DDTS, Object Testing, Object-Oriented Recording, ObjecTime, ObjecTime Design Logo, Objectory, PerformanceStudio, PureCoverage, PureDDTS, PureLink, Purify, Quantify, Rational Apex, Rational CRC, Rational Process Workbench, Rational Rose, Rational Suite, Rational Suite ContentStudio, Rational Summit, Rational Visual Test, Rational Unified Process, RUP, RequisitePro, ScriptAssure, SiteCheck, SiteLoad, SoDA, TestFactory, TestFoundation, TestStudio, TestMate, VADS, and XDE, among others, are trademarks or registered trademarks of Rational Software Corporation in the United States and/or in other countries. All other names are used for identification purposes only, and are trademarks or registered trademarks of their respective companies.

Portions covered by U.S. Patent Nos. 5,193,180 and 5,335,344 and 5,535,329 and 5,574,898 and 5,649,200 and 5,675,802 and 5,754,760 and 5,835,701 and 6,049,666 and 6,126,329 and 6,167,534 and 6,206,584. Additional U.S. Patents and International Patents pending.

U.S. GOVERNMENT RIGHTS. All Rational software products provided to the U.S. Government are provided and licensed as commercial software, subject to the applicable license agreement. All such products provided to the U.S. Government pursuant to solicitations issued prior to December 1, 1995 are provided with “Restricted Rights” as provided for in FAR, 48 CFR 52.227-14 (JUNE 1987) or DFARS, 48 CFR 252.227-7013 (OCT 1988), as applicable.

WARRANTY DISCLAIMER. This document and its associated software may be used as stated in the underlying license agreement. Except as explicitly stated otherwise in such license agreement, and except to the extent prohibited or limited by law from jurisdiction to jurisdiction, Rational Software Corporation expressly disclaims all other warranties, express or implied, with respect to the media and software product and its documentation, including without limitation, the warranties of merchantability, non-infringement, title or fitness for a particular purpose or arising from a course of dealing, usage or trade practice, and any warranty against interference with Licensee’s quiet enjoyment of the product.

Third Party Notices, Code, Licenses, and Acknowledgements
Portions Copyright ©1992-1999, Summit Software Company. All rights reserved.

Microsoft, the Microsoft logo, Active Accessibility, Active Client, Active Desktop, Active Directory, ActiveMovie, Active Platform, ActiveStore, ActiveSync, ActiveX, Ask Maxwell, Authenticode, AutoSum, BackOffice, the BackOffice logo, bCentral, BizTalk, Bookshelf, ClearType, CodeView, DataTips, Developer Studio, Direct3D, DirectAnimation, DirectDraw, DirectInput, DirectX, DirectXJ, DoubleSpace, DriveSpace, FrontPage, Funstone, Genuine Microsoft Products logo, IntelliEye, the IntelliEye logo, IntelliMirror, IntelliSense, J/Direct, JScript, LineShare, Liquid Motion, Mapbase, MapManager, MapPoint, MapVision, Microsoft Agent logo, the Microsoft eMbedded Visual Tools logo, the Microsoft Internet Explorer logo, the Microsoft Office Compatible logo, Microsoft Press, the Microsoft Press logo, Microsoft QuickBasic, MS-DOS, MSDN, NetMeeting, NetShow, the Office logo, Outlook, PhotoDraw, PivotChart, PivotTable, PowerPoint, QuickAssembler, QuickShelf, RelayOne, Rushmore, SharePoint, SourceSafe, TipWizard, V-Chat, VideoFlash, Visual Basic, the Visual Basic logo, Visual C++, Visual C#, Visual FoxPro, Visual InterDev, Visual J++, Visual SourceSafe, Visual Studio, the Visual Studio logo, Vizact, WebBot, WebPIP, Win32, Win32s, Win64, Windows, the Windows CE logo, the Windows logo, Windows NT, the Windows Start logo, and XENIX, are either trademarks or registered trademarks of Microsoft Corporation in the United States and/or in other countries.

Sun, Sun Microsystems, the Sun Logo, Ultra, AnswerBook 2, medialib, OpenBoot, Solaris, Java, Java 3D, ShowMe TV, SunForum, SunVTS, SunFDDI, StarOffice, and SunPCi, among others, are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.

Purify is licensed under Sun Microsystems, Inc., U.S. Patent No. 5,404,499.

Licensee shall not incorporate any GLOBEtrotter software (FLEXlm libraries and utilities) into any product or application the primary purpose of which is software license management.
BasicScript is a registered trademark of Summit Software, Inc.

Design Patterns: Elements of Reusable Object-Oriented Software, by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides. Copyright © 1995 by Addison-Wesley Publishing Company, Inc. All rights reserved.

Additional legal notices are described in the legal_information.html file that is included in your Rational software installation.

[ Go To Top ]