Rational Rose Release Notes
Release 2001.03.00

Part Number: 800-023908-000

Scope - Product Definition

Rational Rose 2001 helps customers design and develop software in an Internet-connected, global economy. As the Internet has grown to dominate both business and technology decisions, all organizations face an e-software paradox. Traditionally, development organizations could choose between higher software quality or reduced time-to-market. In the new Internet economy, organizations have no choice: they must deliver higher quality software in less time. Rational Rose helps companies overcome the e-software paradox by unifying the communities that develop software with a common visual language that accelerates the creation of flexible applications with robust, resilient architectures.

The Rational Rose 2001 release notes describe:

For any last-minute information not available when the release notes were published, please check the readme.txt file in the doc folder of your installation directory.

Before installing Rational Rose 2001 and its add-ins, be sure to read the See Hardware/Software Information and sections of this document. These sections contain important information for a smooth and successful installation.

Hardware/Software Information

This section provides basic information on the platforms supported and the hardware and software requirements for installing and running Rational Rose 2001 and its add-ins.

Supported Platforms

Rational Rose 2001 and its add-ins run on any of the following operating system platforms:

Hardware Requirements

The following hardware requirements apply to Rational Rose 2001 and its add-ins:

Memory requirements increase as model size increases.
  • 200MB disk space (100 Rose, 100 download/install)
  • SVGA-compatible display (256 or more colors recommended) with resolution set at 800 X 600 pixels.
  • Any pointing device with at least two buttons

Software Requirements

If you are running Rose on Windows 95, Rose requires DCOM. If you do not have DCOM on your Windows 95 system, the installation program will point you to the Microsoft web site from which you can obtain the software.

Some add-ins have these additional software requirements:

Rose 2001 Documentation

The goal of all Rose technical documentation is to provide the most appropriate and useable product information possible so that our users can benefit fully from all of the features of Rose and its add-ins. To that end, Rose 2001 and its add-ins provide a complete, integrated online help system, along with a set of supplemental printed manuals.

Online and Printed Documentation

You may notice that the printed documentation set has changed, beginning with this release. Several printed manuals, whose content was exactly the same as that of the online help, have been eliminated. On the other hand, several new books that provide important background or supplemental information are now available. In future releases, we hope to provide more of these value-add publications, while continuing to update our comprehensive online help systems.

To print the complete online help for Rose 2001 or any of its add-ins, you can easily do so from the Contents tab of the help system:

  1. On the Rose Help menu, click Contents and Index.
  2. On the Contents tab, click the help book that contains the help you want to print.
    (For example, to choose the entire help for Rational Rose, click the Rational Rose help book; to choose the entire help for Rose J, click the book called Rose J .)
  3. Click Print .

All of the help topics contained in the selected book (including those that are contained in sub-books of the selected help book) will print in the order in which they appear in the table of contents.

Of course, you can still print single topics whenever you need to do so.

In addition to the Release Notes, the following manuals constitute the printed documentation available for Rose 2001 and its add-ins:

These manuals are also available in portable document format (pdf) on the documentation CD that comes with all editions of Rational Rose. You can also download the pdf files from the Rational website, www.rational.com .

Rose Tutorials

The documentation CD contains a comprehensive online tutorial for Rose, as well as one for the Rose Oracle8 add-in. You can also access Rose tutorials on the web by going to www.rational.com and navigating to the Try It Center for Rose.

The Rose tutorial is distributed as a self-extracting archive file that is meant to be copied onto the hard drive of the machine where Rose is installed. The filename is RoseTutorialFiles.exe . This file is approximately 4MB in size. When extracted, it requires approximately 28MB of free disk space. Refer to the Tutorial Read Me file located on the Rose Start menu for more information about this tutorial.

The Rose tutorial provides an overview of Rational Rose, and then takes you through the application development process from business modeling to application implementation, with detours into data modeling and team development.

Tutorial Guidelines

The self-extracting file that contains the tutorial does not uninstall when you uninstall rose from your system. You must manually remove the tutorial files when you uninstall Rose.

For best tutorial viewing quality, set your display's Color Palette to True Color or the highest number of colors possible (Click Start > Settings > Control Panel > Display > Settings ).

Contacting Rational Technical Support

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

Your Location

Telephone

Facsimile

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-4545-201
Netherlands

support@europe.rational.com

Asia Pacific

+61-2-9419-0111
Australia

+61-2-9419-0123
Australia

support@apac.rational.com

Getting Started

This section provides information about pre-installation and licensing issues for Rose 2001.

It also describes any known installation and licensing defects, as well as those fixed in this release.

Pre-Installation and Licensing Issues

If you encounter a problem while installing or licensing Rose 2001, please check for information under Known Installation Issues , later in this section. If the problem does not appear in this section, please contact Rational Technical Support.

Follow these guidelines before installing Rose 2001 on your system:

Model files

You should always have a back up of all your model files. These can include files that end with .mdl,.cat,.ptl, .red, and .sub files.

Custom property files (files that end with .pty or .prp)
There is no need to save .pty files that ship with Rose, because these will be reinstalled.
Custom script files (files that end with .ebs or .ebx)
There is no need to save .ebs or .ebx files that ship with Rose, since these will be reinstalled.
  • Path Maps

Rose path map variables are saved in the registry.

To backup path map variables:

Run regedit and navigate to HKEY_CURRENT_USER\Software\Rational Software\Rose\Virtual Path Map.
  1. On the Registry menu, click Export Registry File...

To restore path map variables:

Run regedit and navigate to HKEY_CURRENT_USER\Software\Rational Software\Rose\Virtual Path Map
  1. On the Registry menu, click Import Registry File... and import the file you exported.

Installation and Licensing Defects Fixed in This Release

Defect

Description

1055

Minimal Install with VC++ and VB samples are read only

1249

Recommended Rose installation to a partition that has 8.3 format filename support.

Workaround: Do not install node-locked keys in server mode or a floating key in a client mode.

1473

The License Key Administrator allows a client installation to install node-locked keys in server mode. When this happens, Rose can't find the key and launch.

1480

If you install a suites build over an uninstalled previous version, the install will not complete. It is also not possible to uninstall because Rose cannot be uninstalled from Add/Remove Programs. An error message appears saying that Rose is in the process of installing.

1484

On Japanese NT4SP3 typical install, several windows in Rose use a non-Japanese font to display text on a Japanese system. This means that non-ASCII characters are garbled.
The workaround is to change the font settings using Tools > Options > General > Fonts to the appropriate font for the language operating system.

1652

Rose is left hung upon attaching a Rose model to a repository using Rational Administrator if a Rose session open during this operation.

3433

When doing a Custom install of Dev studio, the Choose Programs dialog allows you to select which program to include/exclude. Rose has the + tree view next to it. If you expand the view, no additional choices are available.

5975

Installing Rose98i/2000 on a mapped network-drive does not work

8355

License Administrator crashes on node-locked key

8393

License admin.exe shuts down on NT.

8699

Use Existing License Key option does not work.

10101

Licensing Select Product is disabled if you click the Back button after specifying license information.

10131

RSSetup error after installation on Swedish machine

10360

During Rose Pro C++ installation, a message pops up saying that the dynamic link library urlmon.dll cannot not be found on the specified path

10535

The License Keys tab under License Key Administrator does not show the node-locked license, event hough Rose runs without problems.

10619

Install does not report correct disk space

10837

Minimal Installs of of Rational Rose or any of the Professional Releases on an NT cannot read License File

10838

Install Error on Minimal Professional and Rational Rose professional edition installation. Error text reads: system error occurred while copying C:\TEMP\rational_redirect.dat to C:\Program Files\Rational\common\rational_redirect.dat:The system cannot find the path specified.

12570

Upgrading Suite over older version of Rose causes Rose to crash.

Known Installation and Licensing Defects

Defect

Description

149717

With the integrated install, some shared components (both Rational and third party) are updated when you install any new Rational product.

The common install is designed so that when you install a new product (either within a Suite or as standalone) and the install detects other Rational products on the system, it will update some files for the other product as well (to keep the file levels compatible). For example, when you install ClearQuest, it may detect RequisitePro on the system and make some file updates BEYOND what are needed for ClearQuest.

This only affects users that have an older version of the suites already installed.

15701

An updated report gen script is supplied with this release.

15775

If VisualAge For Java is not installed before Rose, the Rose setup program will automatically NOT install the Rose Addin for VAJava. In addition, this entry will be omitted in the selection items list during Custom installation.

Be sure to install Visual for Java before you install Rose.

Core Rose and Rose Extensibility Interface

Core Rose Features and Enhancements

The following features and enhancements are new for the Rose 2001 release:

Rose Extensibility Interface Features and Enhancements

The Rational Rose Extensibility Interface (REI) provides several ways for you to extend and customize Rose's capabilities to meet your specific software development needs. Using REI capabilities, you can:

The following features and enhancements are new for the Rose 2001 release of the Rose Extensibility Interface (REI).

Arrange selected views on a diagram using Diagram.LayoutSelectedViews method.
Automatically size diagram views using the Diagram.AutoSizeAll method.
Center a diagram over one of its views using the Diagram.CenterDiagramToView method.
Put a diagram name in edit mode in the browser using the Application.EnableUserEditOfDiagram method.
Add a use case diagram to a package using the Category.AddUseCaseDiagram method.
Delete a state diagram (activity, statechart) from a state machine using the StateMachine.DeleteStateDiagram method.
  • New Class Capabilities
Change the order of class attributes using the Class.ChangeAttributePosition method.
Relocate a class so it is nested under another class using the Class.RelocateClass method.
More flexible retrieve classes:
  • Retrieve all child classes and/or nested classes for a package and possibly for its child packages using the Category.GetAllClassesEx method
  • Retrieve all child classes and/or nested classes for the Use Case and Logical Views and possibly for their child packages using the Model.GetAllClassesEx method.
  • New Operation Capability

Define or determine if an operation is abstract using the Operation.Abstract property.

  • New Item Capabilities
Retrieve the item that owns (provides the context for) another item using the RoseItem.GetContext method.
Put an item name in edit mode in the browser using the Application.EnableUserEditOfItem method.
  • New Script Editor Capability

Select a font for the Script Editor using Edit > Font.

Core Rose and Extensibility Defects Fixed in This Release

Defect

Descriptionc

1446

REI: GetAssignedModules does not return unloaded modules.

1458

Provide a rose script method for changing the Stereotype display so that a rose script can display classes in diagrams as icons based on their stereotype.

1593

State transition disappears after applying Change Into command

If you create two activities with a state transition between them and then change one activity to a state (using the Edit > Change Into command), the state transition will disappear.

1733

A class of one assigned language is assigned to a component of another assigned language. You will have two components with the same class. In one scenario, it is possible to have a VB and Java Component with the same VB class assigned (realized) to each other. Notice that once the package is unloaded from the model, the class will not show up as being realized by a component.

1824

Shallow Deletion of States, Activities in Activity Diagrams.

If you use the DEL key to delete an activity or state from an activity diagram (referred to as a "shallow delete"), the activity or state is only deleted from the diagram, not from the model. As a result, if you perform a shallow delete on an activity or state that is connected to a synchronization, you may see an error message when you try to connect another state or activity to that synchronization.

The error message will indicate that "a synchronization may have one input and many outputs, or many inputs and one output." Because the state or activity that was shallow-deleted still exists in the model, the synchronization will not allow additional transitions.

To resolve the problem, select the synchronization in the diagram. Then, use the Query/Expand Selected Elements menu option to expand related items on the diagram. This will cause the state or activity that was shallow deleted to reappear on the diagram.

To completely delete the element, select it and press [CTRL+D]. You can now connect a new state or activity to the synchronization.

1859

Default font settings are currently stored with the model, and not with the .cat files.

Items will only store font settings in a .cat file if the font is different from the default. As a result, text for model elements in units will be formatted, by default, according to the settings of the model. If one team member formats diagrams relying on a specific default color and font, that formatting will not be rendered for other team members with different default settings.

To work around this problem, explicitly format text using a font that is different than the default setting.

1998

It is difficult to grab and drag an association point on a diagram if the association has mulitple "bends."

2001

Some selections on Print dialog are disabled.

2002

Framework Wizard jfc-11 loads, but hangs if you select File>New

2032

Cloning a parameterized class does not work as designed. The new clone will not be the same type, it will be of the type class.

2033

Browse Diagrams>State Diagram is disabled on Deployment Diagrams

2040

There is a misbehavior that may be encountered in collaboration diagrams when following a specific set of steps. The misbehavior stems from relocating an end point of a link between two views of the same object to a different object.

2087

The Logical View package->New does not provide the ability to add use cases. However, a use case can be added in the Use Case View and dragged to the Logical View. Likewise, a class cannot be directly added to Use Case View packages but it can be dragged from the Logical View. If the drag and drop operations are allowed, the New menu selections should be added.

2099

Reloading a controlled package named with a special character may cause Rose to crash.

3027

Resizing problems with undocked standard toolbar

3029

Check Model error in state chart after unchecking History option

3039

Undo Delete does not work properly on activity diagrams

3095

Rose should report an error for an invalid package name. If you create a package, delete the default name, leave the name blank, and then control the package, the shortcut menu reload option is grayed out. If you unload the package, and then try to load the package, the shortcut menu load option is grayed out. You can load the package by double clicking on it.

4918

The specification for association roles reverses the Supplier and Client roles, based on the placement of the arrow point.

4980

Rose Scripting:Association.Roles does not exist, but is documented. Use Association.Role1 and Association.Role2

6270

A model fails to be reloaded in write-protected mode

6531

Error dialog appears when adding multiple parameters to parameterized class

8513

Control D deletes elements from the model instead of simply from a diagram

8591

GetOtherRole or Association.Role1 and Association.Role2 can be used to discover reflexive assocaitions.

GetOtherRole returns the role that is attached to the other class in an association. If the other class is the class itself, the association returns a role. It cannot determine which role to use to get to the association and will therefore most likely return the same role.You can also use Association.Role1 and Association.Role2. If both roles return a role of Supplier, the association is attached to the same class.

8777

Modifying a collaboration diagram can cause errors in forward referencing. For example, if you introduce a new object from another package into a collaboration diagram of another package, and move an existing message link to this new object, a forward reference occurs.

8944

A circular realization is not a legal construct in Rose and causes endless recursion or crash.

9289

The OnCancelModel event should be generated whenever a user clicks the Cancel button on the Save Changes dialog, thus returning to the changed Rose model without saving or aborting the changes. However, the event is only generated if you click the No Button.

9991

Rose can crash if multiple unnamed swimlanes are defined within a single state machine

11025

Warning messages generated when loading a model whose property file is a read-only controlled unit.

11561

Synchronizations and decisions not deleted when diagram deleted

12330

Petal file error and model stops loading after having saved to a previous release's file format.

12574

Realize and dependency relationships are not shown in the Relations tab in the use case spec.

12578

File->Units->Load is disabled when a class on a diagram is selected.

12616

The visibility icons for operation do not print correctly

12659

Rose.exe error when loading .cat files into large models

12734

Flows are broken between an activity and object if the activity is in a unit and is unloaded

12766

OnModifiedModelElementEx does not work for parameters

12855

Rose crashes on show all attributes if some units are unloaded

27755

RSBU

After a Minimal or Evaluator install, Rose opens without the Browser pane and with all possible diagram tools available in the toolbox.

Known Core Rose and Extensibility Defects

Defect

Description

1575

When starting Rose, sometimes the introductory splash screen takes over the entire screen and you cannot do anything else until Rose is loaded.

Workaround :

Use the - noSplashScreen command line switch to control display of the splash screen. Use one of the following methods to set this switch:

1. In Windows, click Start and then click Run .

2. At the command prompt, enter rose.exe -noSplashScreen .

Alternatively:

1. Start Rose from an MSDOS command line prompt by entering the following command: start rose.exe -noSplashScreen

1719

16674

F1 help for keywords does not work in the Script Editor. Use the online help table of contents or index to find the help you require.

1934

Korean character input; slow display for question marks.

If a class name contains a question mark (?), Rose takes longer than expected to display the class name. Turning autosize off will help alleviate the delay.

1981

Browse Show Usage does not work correctly. The link may appear on the specification for an object on one side of a link, but not appear for the object on the other side of the link.

1984

Drawing a state transition is blocked if you draw a state transition the wrong way (from activity to start state), click OK on the resulting warning dialog box, and then attempt to draw another state transition.

Workaround

Click the arrow button on the statechart diagram or activity diagram toolbar and then click the state transition icon. Continue to add state transitions to your diagram.

2003

In Windows 98, Rational Rose deletes association role names from the unidirectional association specification and the diagram.

This only occurs when exactly following this specific sequence:

Start Rose (Exit and restart if you already have it open)
Place 2 classes on the class diagram
Connect them with a Unidirectional association
Double click on the association
Select the Role A General Tab
Type in a name of A
Select the Role B General Tab
Type in a name of B
Hit the Apply button
Select the Role A Detail Tab
Select a Cardinality of 0..1 and hit the Apply button.

Result: The Role names disappear from the dialog and the diagram.

2062

Print Preview is disabled for specifications.

2090

Print Preview does not work consistently for all diagram types.

2101

Occasionally the Print Specification does not print all of the selected classes

3093

The Activity icon does not display the history graphical depiction on it. Further, it is not possible to drag the "History" icon from the browser to the diagram either.

3094

If you change printers and then delete the original printer while Rose is running, Rose will crash when you select File > Print. If you do not delete the original printer, Rose will not crash. You can exit and restart Rose during the printer change without a crash.

5510

Classes do not inherit attributes when Visibility is set to Implementation.

5886

Implementation of Save Workspace after Save As may not work as expected.

When a model file name is changed, the workspace file name is not reset. The system checks the workspace and uses the old workspace file name to save the new workspace.

To avoid this problem, set the workspace name to empty when you change the model file name.

6019

Link not created between a process and main program on deployment diagram.

7871

Text within the brackets on messages are lost on all sequence diagrams when the Apply button is clicked after changing the Message Signature option.

8829

If an ini file is not present, Rose will write one out. If the OS is NT, that is written to a directory <winntdir>\profiles\application data\rational\rose\6.0. The version number indicated by the directory should be consistent with the release version.

9168

Some custom stereotype icons added-in to previous versions of Rational Rose do not display correctly. To work around this problem, open the icon (.wmf) file in a graphics application that supports .wmf files. Set the color palette to Transparency.

9229

To change the ROSE_CPP path map variable, you must first manually remove its entry from the registry. In the Windows Registry, this pathmap variable is located at two different locations:

  • HKEY_CURRENT_USER\Software\Rational Software\Rose\Virtual Path Map
  • HKEY_LOCAL_MACHINE\Software\Rational Software\Rose\Virtual Path Map

9259

If you delete a model element that has nested elements from a model (deep delete), you cannot undo the action.

9464

An RDMS client must be installed for Oracle and DB2 for reverse engineering to function.

9535

Collaboration diagram numbering is thrown off by deleting and undeleting a link message.

Workaround: Turn Collaboration Numbering off and then on again to reset the numbering. (Select Tools > Options. Go to the Diagram tab and click Collaboration Numbering off. Click Apply. Click Collaboration Numbering back on and click Apply again.)

9883

The help topic "Visual Studio RTE Extensibility Drag-Drop Add-In Sample," section "How to Run the Sample" requires the following update:

  • The Save Model and Model Update dialogs appear when the focus is on the running VB application (and not Rose).
  • You must close Rose before the running VB application is stopped. Otherwise a crash may occur.

11092

Despite BasicScript's efforts to use memory efficiently, memory may still fill up. In this case, the user receives the trappable error "Out of string space," or the fatal error "Out of memory."

The ebInit function creates the string space memory area with a maximum size of 64K. This maximum can be increased by calling the ebInstance_SetPublicSpace function. The following code sets the maximum to 1 MB: ebInstance_SetPublicSpace(hInst,0x100000L);

11555

Problems with McAffee Virus Scan software

When some software is installed or launched, some virus scanners check each file, including .dll and .ini files, being read and loaded, as part of their normal process. However, this functionality can significantly increase the amount of time it takes for some software to load. This is a result of the interaction between the loading software's dynamic extensibility functionality and the virus checking mechanism used by the anti-virus software.

This functionality of certain anti-virus software could affect the performance of Rational Rose and of the Rational Installer.

Rose stores a significant amount of information in the rose.ini and stereotype.ini file, as well as ini files used by different Rose Add-ins. Rose accesses keys in these ini files using the standard windows calls, which unfortunately open, search, and close the ini file every time we query for a key from a file. This means that McAfee scans the complete ini file every time we attempt to read a key, literally 100s of times for some of the files. This, in addition to the dll scanning that is exacerbated by Rose's high level of componentization as discussed in our previous mail, is what is causing the slowdown in Rose startup.

The best solution we can offer you and our customers now is to disable scanning of ini files in McAfee. To do this follow these steps:

Go to the system tray and double-click on the Vshield icon.
Click on Properties in the system scan dialog.
In the Properties dialog, make sure that the Viruscan is scanning for program files only.
Click on the Extensions button.
In the Program File Extensions dialog, find the .ini extension in the dialog and click on the Delete button.
Click Ok in the dialog to leave the dialog.

7. Click Apply in the Properties dialog to save the changes.

11800

You may encounter an unresolved model warning if there is a view of an item on a diagram, but the underlying item is not loaded or could not be found in the current model.

Items and relations are correctly displayed and reported by Check Model as unresolved references when the view to the item is in a diagram that is in the current model but the item resides in an unloaded package (controlled unit). The reference becomes resolved and the unresolved indicator is removed when the unit containing the item is loaded.The unresolved model warning occurrs ocasionally during model loading if the model was created by a previous version of Rose and that version of Rose allowed an invalid model to be created. Some known cases are:

Circular Generalize/Realize Relationship Combinations (allowable in Rose2000e but no longer valid in this release). Note that if you attempt to create a circular generalize/realize relationship combination, you will get an error and the relationship will not be created.Circular generalize/realize relationship combinations that exist in models files created with earlier versions of Rose are detected on model load and one of the relationships involved in the circularity is left unresolved.

You may delete the unresolved view and then add new ones as appropriate. Running Tools->Check Model will provide in a list of unresolved views in the Rose log. If the relationship has no view on a diagram in the model, then an "unresolved relation" warning is placed in the Rose log. The warning is also generated by Tools->Check Model.

To correct the unresolved relations:

Load the model into the Rose
Checkthe log file for "Unresolved relation" warnings
Open the spec of the "from" class to the relations tab
Note that the unresolved relation (generalize or realize) is the one with the class name in brackets in the name column
Determine which classes are involved in the circularity
Delete the undesired relationship via the class spec relations tab

Shared Objects - Shared activity diagram objects (allowable in Rose2000e but no longer valid in this release). A shared object is an object that belongs to one state machine and has a view on an activity diagram belonging to another state machine. The drag and drop of the object is now disabled if the object does not belong to the same state machine as the diagram.In general, the unresolved object can be deleted from the diagram and a new object can be created on that diagram. The model does not lose integrety or validity for doing this since an object is not actually a model item - it doesn't define anything, it is only an instance of a class used for visualizing state or behavior.

11883

Rose may crash if you make multiple attempts to manipulate model elements that have dangling role definitions

14249

A new class diagram toolbar button called "Creates a Form" is available, but you must manually add it to the toolbar.

14739

If you use the inline-editing capability on a diagram to rename an operation parameter name, then any OVERRIDDEN model properties associated with that parameter are reset to the DEFAULT value.

Note that if you rename the RoseParameter via REI or through the specification dialogs, then the model properties are not reset.

14763

Problem viewing object specifications entered in Japanese

To see the characters in Japanese:

1. Go to Tools->Options->General Tab

2. In the Documentation Window Font, click on the "Font..." button

3. In the fonts dialog, choose a font that can display Japanese characters. Please note that Arial DOES NOT have Japanese script.

16544

Module 6 of the tutorial asks you to register some DLLs. These are the DLLs that are shipped with the tutorial.

Doing this on Windows 2000 may fail, causing an error when attempting to drag the DLLs to the regsvr32.exe.

You may need to give yourself administrative rights to your machine in order to complete this step in the tutorial.

Repository Add-In

The Repository Add-In is no longer a supported feature of Rational Rose; however, the add-in is included with the release to support customers' legacy requirements.

To obtain source code for the Repository Add-In, go to the Download Center on Rational Rose's Product Support page and follow the links to the Repository code.

Rational Quality Architect Add-In

Rational QualityArchitect is a powerful collection of integrated tools for testing middleware components built with technologies such as Enterprise JavaBeans and COM.

QualityArchitect, in conjunction with Rational Rose, generates test scripts for components and interactions in your Rose model. Once generated, the test scripts can be edited and run right from your development environment or from Rational TestManager.

With QualityArchitect, you can:

Rational QualityArchitect has its own release note. For more information on this product, select the QualityArchitect readme file, which is accessible from the Start Programs menu.

Rose ANSI C++ Add-In

Rose ANSI C++ Features and Enhancements

Rose ANSI C++ is the new Rational Rose language add-in in support of the C++ programming language.

Because of its many benefits, users are encouraged to convert their models from Rose C++ to Rose ANSI C++. Rose ANSI C++ is designed to be powerful enough to handle large projects, with particular emphasis on scalability and completeness of language support. The user interface has been completely overhauled to make it easy to understand and use.

A model converter is included as an add-in with this release, and the ANSI C++ online help provides instructions for this easy conversion.

Rose ANSI C++ provides the following features:

Known ANSI C++ Defects

Defect

Description

16428

The ANSI C++ add-in does not create directories during code genration. If you try to generate code into a directory that does not exist, a message will be displayed that says the file cannot be created.

16429

If a typedef defines more than one name, the ANSI C++ add-in does not reverse engineer the typedef.

For example, reverse engineering the following code completes without error:

>>>

typedef struct myStruct {

DWORD Version;

DWORD Size;

} myName, * lp_myName;

<<<

However, the struct myStruct appears in the model, but the typedef does not.

16430

The ANSI C++ add-in displays any errors encountered during code generation or reverse engineering in the Rose log window. However, thereis no message telling the user to check the log window for errors.

16432

Reverse engineering with the ANSI C++ add-in does not create a diagram that contains all reverse engineered classes.

Although they do not appear on a diagram, the reverse engineered classes do exist in the model. You can see them in the browser and can add them to a diagram with drag and drop, or by using the Query|Add Classes menu item.

16434

If an existing class does not have any member functions or static data members in an implementation (.cpp )file, the ANSI C++ add-in generates the function body for any new functions in the header (.h) file.

16447

If an existing class does not have any member functions or static data members in an implementation (.cpp )file, the ANSI C++ add-in generates the function body for any new functions in the header (.h) file.

16449

The ANSI C++ add-in ignores comments in source code.

16452

The Class Customization feature can generate two get or set operations for the same attribute if the user invokes Class Customization twice, once generating Get by Reference and once just generating Get.

16457

After you convert a class or model from Classic C++ using the ANSI C++ Model Converter, you generate code for the class or model before attempting reverse engineering. Attempting to reverse engineer before generating code will cause this message to be displayed:

Class cannot be reverse engineered because it does not exist in the project files.

16463

A previous version of Rose could create multiple module lines for C++ classes in certain cases. These extra module lines cause the

Convert from Classic C++ to fail with this message:

The Class/Interface <class name here> is assigned to an unloaded Component, which has the language C++. Classes/Interfaces

may only be assigned to components with the same language.

To convert a model that has multiple module lines, open the model in a text editor and remove the offending lines. The lines that

should be removed contains two words: "module" and the name of the module. For example:

module "ABC"

module "ABC"

module "ABC"

module "ABC"

module "ABC"

16550

The ANSI C++ add-in cannot expand pathmaps that are defined using the reserved symbol "&". . Using a pathmap that is defined with "&" for the code generation root directory or the source file root directory will cause this error message when you attempt to close the ANSI C++ Component Specification dialog:

Directory <Pathmap symbol here> does not exist. Please reenter.

16552

The add-in can create the wrong operation signature in the model as a result of reverse engineering. This occurs if the code contains non-const, on-abstract member function declarations (i.e. one where the closing parenthesis is followed by a semicolon), where the last two parameters are abstract declarations(i.e. they don't have an identifier) that contain a single type name.

For instance, when reverse engineering:

class a { };

class b { };

class c { };

class x {

public:

void f(a, b, c);

};

the operation x::f in the model has the signature "f(:a, c:b): void",

which is wrong. The signature should be "f(:a, :b, :c): void".

On code update, the original signature is preserved, so the code is not changed. Only the model is incorrect.

WORKAROUND:

Change the code so that the function parameters are named.

For example, change

void f(a, b, c);

to

void f(a arg1, b arg2, c arg3);

Since parameter names are optional in function declarations, this will not affect the meaning of the code.

Rose Ada Add-In

The Rose Ada add-in allows you to produce Ada source code from the information contained in a Rose model.

The code generated for each selected model component is a function of that component's specification and code-generation properties, and the model's properties. These properties provide the language-specific information required to map your model onto Ada.

Rose/Ada preserves user-supplied declarations and statements from one iteration to the next. You place such user-supplied code in protected code regions which are preserved whenever code is re-generated.

The Rose/Ada code generator:

New Rose Ada Features and Enhancements

The default value of the Ada95 project property, GenerateStandardOperations is now set to True.

The UseColonNotation property (default TRUE), is used to control whether colon notation is permitted. Note that if you set the property value to False, you will get errors if you use colon notation.

Rose Ada Defects Fixed in This Release

Defect

Description

2892

Public, private and implementation options appear to have no affect on code generation results when static aggregations are included.

2908

Mechanism needed to specify a representation clause against a type.

A new property "Representation" (text value) is now associated with

a Class, Attribute, and Operation. This is used to specify one or more representation items, including pragmas. The constructs must be fully defined, including a terminating semicolon. The following predefined names yield the name of the entity which can be used within the property definition:

Class

type

access_type

component_clauses -- yields a list of

-- component_clause

array_type -- Ada95 only

access_array_type -- Ada95 only

array_access_type -- Ada95 only

access_array_access_type-- Ada95 only

Attribute

attribute

Operation

operation

For an attribute, the representation depends on whether it is static, i.e. treated as an object declaration, or non-static, treated as a component declaration. For the latter, use the syntax for a component_clause. The predefined "component_clauses" is then used to construct the record representation clause in the class. For example:

for $type use

record

$component_clauses

end record;

The placement of the representations, in a class, comes after the full definition of the type plus any other auxiliary type definitions. For a task or protected type, the representation comes after the "is" in the specification. The placement of the representations for an attribute or operation, comes after the object declaration or subprogram specification, resp.

The Operation property "Interface" is now obsolete. The "Representation" property should be used instead.

2921

Code generation incorrect for classes that are mapped to Ada subtypes.

2924

Inherited operations from an instantiated class cg incorrectly.

2928

The Module Body property IsSubunit (default FALSE) specifies whether the component is a subunit. For a component to be considered a subunit, the component name must be an expanded name, composed of the the parent unit name and the name of the subunit. A dependency must be established between the subprogram body component and the package body component. The subunit name must correspond to a subprogram within an associated class of the parent component, where the property ubprogramImplementation is set to "Separate".

2931

Create Apex structures dialog is modal. User is directed to view information in another dialog, but is unable as the current dialog is model.

2933

Greater support for Class Wide types in access discriminants required.

2939

Ability to generate generics with non tagged types required.

2942

Put & Get Operations are not generated. Added project/class property GenerateAccessorOperations (default TRUE).

2947

Mapping multiple parameterized classes to the same generic package should raise an Error.

2959

ImplicitParameter switch desired for class wide operations. Added operation property "ImplicitParameterClassWide", defaults to FALSE.

2979

Code generation using Ada83 does not prefix package names correctly. For Ada83, identifiers are now checked for their legality, and class name resolution is supported.

2991

Using Rose 98.2 imports not always updated by Apex. For example, when a dependency is deleted the import is not always removed.

2996

Bad interaction between Apex and Rose when file is checked in.

3430

Ada83 Code Generation problem when ClassAccess prop = DoNotCreate

3485

Spaces in names are not replaced with underscores in certain cases.

3487

Code Generation problem due to name resolution error. For example, the problem may occur with aggregation when the contained class is mapped to a component.

3539

Code Generation of a Class Utility with an association produces an error.

3540

Defect# Static property of an association/aggregation has no effect on the generated code.

3617

Unable to generate tasks with aggregations.

4930

ImplicitParameterName rejects ${class} and ${type}.

4936

Access Type Visibility (Class Property) problem.

5408

Ada95 FileName property in component module spec broken. The Project property UseFileName (default FALSE), is used to control the Module Spec/Body property FileName. This is a workaround for a defect in core Rose, where the FileNameFormat property is not recognized, which controls how to format the generated file name, in conjunction with the "AUTO GENERATE" setting. In using the UseFileName property, make sure to globally remove the "AUTO GENERATE" value from the FileName property.

5409

${class} does not resolve correctly when using colon or dot notation for the class name.

5410

Code Generation problem if two classes with different implicit param settings are assigned to the same Ada package.

5412

class ' (tick) definition ignored on class operation detail.

5548

Code Generation problem occurs when name of an operation includes spaces.

5618

Ada83 Code Generation property ClassParameterMode needs extra value "DoNotGenerate".

7625

Associations with no navigability should raise warning when generating code.

7631

Enhancement to set the default Ada project property ImplicitParameter=True.

8143

Ada95 Name resolution errors can occur.

8265

Assertion Error occurs instead of a warning when an instantiated class must match the implementation of the parameterized class.

8470

Association Data Member not generated for Protected Types.

8784

Association Data Members Ignore Component Name.

8858

Class name substitution will not occur in an aggregation relationship. It is necessary to add a dependency.

9102

Inheritance may cause code generation name resolution problem.

9987

Mechanism required to accommodate user defined pragmas. The class property Representation can be used to supply pragmas

10324

Code generation will fail to generate a generic body from the logical view.

10812

Implementation (non-static) attributes not created for utility classes.

10827

Code generation incorrect for containers which have the same name.

10889

Classes name not substituted correctly in generic instantiation

10916

Error may occur during Ada95 code generation: SYSTEM ERROR: line 5302, PC 14564: Invalid list index (1) is not in range 0 to 0

10936

Code generation does not occur on associations with class utilities.

11075

Array_Of_Handle needlessly generated and accesses undeclared Handle.

11124

Type Name not substituted correctly in subclass of an instantiated class.

11125

Subclass of a Class with private discriminants wrongly handled

11127

Public Mixin generates private type definition.

11137

Mechanism required to allow user to change a Handle type from access Object'Class. New class property AccessClassWide (default TRUE) added.

11160

Generating an overriding for an abstract op in a concrete class

11328

Mechanism required allowing user to generate Ada95 private child packages. Module spec property IsPrivate (default FALSE) controls whether the package is private or not.

11333

Name problem inheriting from instantiated classes.

11455

Support required to generate user-defined operations immediately after the type spec but before the next one, if the class has no bi-directional associations.

11699

Support required for class wide types in non primitive operations.

11736

Support required for aliased attributes & associations. Added the attribute/role property IsAliased (default FALSE).

11770

The Ada95 property "IsLimited" does not work when the "TypeImplementation" is set to "Record".

11772

MaybeAliased only works for tagged types.

11935

Ending each line with a carriage return when editing representation clauses via field "Representation", will cause each line corresponding to the representation declaration to end with a Ctrl-M.

12070

Can we have a RecordFieldImplementation Role property?

12412

Association class somtimes produces 2 this parameters.classes.

12131

Private operations not defined in spec for class utilities.

12234

Code generation incorrect for colon notation.

12327

Code generation causes excessively long names for container packages. The generic container mappings are now as follows:

1) Classes mapping to same or different packages.

${class}_Object_${ContainerGeneric} -- by-value

${class}_Handle_${ContainerGeneric} -- by-reference

2) Classes mapping to different packages, involving colon notation.

${class}_<TypeName>_${ContainerGeneric} -- by-value

${class}_${AccessTypeName}_${ContainerGeneric} -- by-referenc

3) Classes mapping to same packages, involving colon notation.

<TypeName>_<ContainerGeneric> -- by-value

${AccessTypeName}_<ContainerGeneric> -- by-reference

13228

Role visibilities are inverted when code generating.

13289

Rose/Ada ignores ImplicitParameterMode for functions.

13397

Public type inheriting private type generates illegal Ada.

13598

IsConstant property for non-static attribute ignored in a Class Utility.

13937

Assoication to classes from other languages than Ada.

14184

ApexStorage property results in stange effects on NT.

14469

Duplication of entry and exit code for access operations.

14673

Actual package parameters not handled correctly.

15618

Inherited abstract operations made incorrectly concerte in abstract sub-class.

15845

Assertion error on code generation for hierarchical paramterized classes.

Rose Ada Problems and Limitations

The following list describes the known problems and limitations for this release of Rose Ada:

Rose C++ Add-In

Rose C++ Features and Enhancements

Using the Rational Rose C++ add-in, you can produce C++ source code from the information contained in a Rational Rose model. The code generated for each selected model component is a function of that component's specification and code generation properties, and the project's properties. These properties provide the language-specific information required mapping your model onto C++, and allow you to control the code generated for each component.

Upgrading from a Previous Rose C++ Add-In Release

When upgrading from a previous release, it is important to understand the various versioning considerations associated with the upgrade. To help you stay in control when regeneratiang code of a different version, Rose C++ generates a version stamp and includes it in the generated code . Refer to the Rose C++ Code Generator Versioning online help to learn more about this feature.

C++ Version Comment Orphaned

If you are using an older, version stamp unaware code generator to update version stamped code (C++ code generator versioning) the version stamp comment will end up in the orphaned section at the end of the module. This raises the same issues as described in the C++ annotation downgrade topic. The recommended action is to use the newer code generator. It is likely that other preserved regions will also end up in the orphaned section. If you decide to undo this operation, you will have to manually revive the written backup files.

C++ Minor Version Downgrade

A minor version downgrade occurs when you update code that had been written with a newer code generator, which supports the same annotation format.

Minor downgrades may introduce problems if your current model/code depends on capabilities that have been introduced in the newer code generator. Note that minor upgrading will remedy those problems. Therefore minor downgrades will not raise problems which may require manual work. However, you should allow the downgrade only if you are sufficiently certain that you are not causing problems.

The capability to honor a minor version attempt can be controlled in the same way as the annotation version downgrade. So even though minor downgrading is far more reasonable, the behavior regarding error/warning messages and default setting is the same. Setting the Boolean project property AllowGenerateOverNewerVersion to True will allow you to perform the downgrade. The code generator will still issue a warning in order to make you aware of the potentially unintended downgrade. The default setting is false which makes the code generator issue an error and skip this module.

C++ Code Generator Versioning

The C++ code generator uses annotations (protected regions) in the code in order to support non-destructive code regeneration (code updating). The C++ Analyzer takes advantage of the annotations as well.

As the code generator advances using code generators of different versions, the same code base becomes problematic. This is the case when the annotations format changes. A code generator versioning stamp and a surrounding mechanism has been introduced to address this problem.

A particular code generator will produce a version stamp that characterizes the annotations format used and the version of the code generator relative to this annotation format. They are called annotation version and minor version. The version stamp itself has the form of a protected/preserved region. It is not meant to be modified or deleted by the user in any way because it is used differently than other preserved regions. Text added in the region will not be maintained. In addition, the preserve tag must not be set to false.

A particular code generator version will only write the newest version of annotations. However, it can read and interpret older versions of the prior annotation version. How far the backward compatibility goes depends on the kind of change introduced. The code generator will issue a warning message when an annotation upgrade occurs. Refer to the C++ Annotation Upgrade topic to read more about the implications of upgrading the annotation format. Upgrading to a higher minor version is the recommended path and does not cause any problem because it does not require any transformations. The annotation format has not changed.

Downgrading code, which is updating code produced by a higher version code generator, is a risk. The exact risk depends on the usage of newer code generator features and how models that produce the code are going to be shared. In order to allow the user to decide what downgrading risk to engage, two Boolean project properties AllowGenerateOverNewerAnnotations and AllowGenerateOverNewerVersion have been introduced. The default property sets assumes that no risk should be taken. They are both set to False. If the property does not allow overwriting newer code, the code generation displays an error message and skips the module. Otherwise, it will issue a warning and continue.

There are some additional considerations when using an older code generator that is not aware of version stamps. The first version of the version stamp aware code generator is version 1.1. If it does not find a version stamp, it will assume that the file had been written by an older code generator. The behavior is as if found a stamp denoting version 0.0. The C++ version comment orphaned topic contains more information about the effects when using a version 0.0 code generator on newer version stamped code.

C++ Annotation Upgrade

A major annotation upgrade happens when code is updated that had been written with an older code generator that supports an older annotations format.

An annotation upgrade is introduced to put more information in the code in order to find preserved regions properly in complex situations. For example, support for recognizing the preserved regions for property generated operations (such as assignment operators) copy constructor when the class name changes.

Changing the annotation format has disadvantages, which is the reason why they occur only after careful consideration of alternatives. One disadvantage is that upgrading to a new format can create problems if the upgrade occurs at the wrong time. Whether this is true or not depends on the particular format change introduced. In addition, upgrading is in general restricted to a particular number of versions.

A particular code generator will support upgrading from the next lower annotation version under stable conditions. Stable conditions means that the upgrade should occur on code that has been successfully updated using the code generator from which to upgrade. If the current code does not fit the model, upgrading and synchronizing at the same time may fail. The steps to assure stable conditions are:

  1. Update the code with the code generator version you want to update from.
  2. Do not change the code and the model.
  3. Update the code with the target code generator version.
C++ Annotation Downgrade

A major annotation downgrade occurs when you update code that had been written with a newer code generator supporting a newer annotation format. Refer to the C++ annotation upgrade topic for reasons why the annotations format may change. It must be expected that the older code generator may not be able to recognize the code regions with the newer annotation. It is particularly problematic to share code using code generators, which support different annotation versions. The exact risk depends on the usage of newer code generator features and how models and especially the produced code are going to be shared.

Downgrading annotations is neither recommended nor automatically supported. You may have to do manual work.

However, you may have valid reasons to dismiss all these considerations. Setting the Boolean project property AllowGenerateOverNewerAnnotations to True will allow you to perform the downgrade. The code generator will still insist to issue a warning though.

The default setting is false, which makes the code generator to issue an error and to skip this module.

Rose C++ Defects Information

There is no defect information to report for this release of Rose C++.

Rose ClearCase Add-In

Rose ClearCase Features and Enhancements

The ClearCase add-in provides a tight integration between Rational Rose and the Rational ClearCase version control system. This add-in is intended as a replacement for the ClearCase capabilities provided through the generic Version Control Add-In. Unlike the Version Control Add-In, the ClearCase Add-In does not use the Microsoft SCC API to communicate with ClearCase. This allows for more ClearCase-specific customization to this add-in.

If you are already familiar with the Version Control Add-In, you will find the transition to the ClearCase add-in simple because the many of the dialogs and menu items are identical.

The new features and enhancements of this version of the Rose ClearCase add-in are:

Rose ClearCase Defects Fixed in This Release

Defect

Description

1240

Rose adds a model to version control without any error messages indicating that the model is write protected.

1241

In general, icons in the browser should accurately reflect the ClearCase status for the associated unit. If, however, the Icons in the browser do not reflect the current ClearCase status (as might occur if the state is changed from outside of Rose), you can force a refresh of the browser icons by unloading and then reloading the ClearCase Add-In from the Add-In Manager.

1242

Removing from version control will fail if the parent unit is checked-in. Workaround: Before removing an element from version control, be sure to check-out the parent unit.

1243

Performing an undo checkout on a parent unit will cause the children to become unloaded. It will be necessary to reload the child units manually if desired.

1244

The ClearCase add-in does not fully support snapshot views.

1596

Rose adds a package to Version Control despite of error message indicating that the .cat file is write protected.

1598

After creating a new VOB and a dynamic view, if you try to add any object to it, the version control (using the ClearCase Add-In) will fail. This happens only if no operations have ever been performed on the VOB.

5661

Browse button does not work in Select Activity dialog box.

6344

The ClearCase integration does not work in Windows 2000.

7580

If you controlled some units using the Version Control addin and you did not set the Clearcase MVFS Case preserving, then the files that are created have lowercase names, but the corresponding unit names in Rose might be in mixedcase.

If you then open the model with the Clearcase addin active, these controlled units will appear as if they are not controlled. This is because the Clearcase addin is case sensitive and hence cannot find the files corresponding to the unit names.

10530

If you select a unit whose parent is readonly and try to run the uncheckout command on it, the ClearCase add-in warns that the parent unit is readonly and does not uncheckout the unit.

Known Rose ClearCase Defects

Defect

Description

13277

The Rose/ClearCase addin has been enhanced to allow Rose users to work directly with CC 4.0 checkin/checkout dialogs.

The Rose Guide to Team Development refers only to the capabilities provided by the simulated dialogs

16244

ClearCase operations done outside of Rose on an open Rose model's units do not get reflected in Rose's browser if this ClearCase operation does not affect the content of the file unit nor its read/only status.

The workaround is to reload the unit when this happens. It is highly suggested to do ClearCase operations from within the Rose ClearCase add-in to avoid these types of problem.

16639

Rose ClearCase add-in is case sensitive when looking for file names, so you must turn on the case preserving option for ClearCase MVFS on Windows.

1. Control Panel.

2. ClearCase Applet.

3. MVFS tab.

4. Case Preserving must be checked.

5. The MVFS must be restarted for this change to take effect.

Rose CORBA Add-In

Rose CORBA Features and Enhancements

The Rational Rose Corba add-in allows you to forward engineer Rose model elements into Corba-compliant IDL code and reverse engineer CORBA IDL code into a Rose model.

For this release, in support of the CORBA 2.3 specification, Rose CORBA now implements the use of value types. Value types allow you to pass objects by value rather than by reference, which is particularly useful when an object's primary purpose is to encapsulate data, or when an you want to explicitly make a copy of an object. Two new CORBA stereotypes make use of this enhancement:

These stereotypes are not yet documented in the online help.

In addition, this release of Rose CORBA uses the new modeless R2Editor, which provides a user-friendly environment for code generation and updating.

Known Rose CORBA Defects

Defect

Description

6478

CORBA: interface generated before the typedefs it depends on

9664

Syntax Checker should check to see whether a valid modifier is selected before reverse engineering idl.

Rose Data Modeler Add-In

Rose Data Modeler Features and Enhancements

Rational Rose Data Modeler is a database modeling and design tool using UML (Unified Modeling Language) notation. It allows you to work with UML object models as logical models and data models as physical models, and helps you maintain synchronization between the data model and the database.

Data Modeler supports round-trip engineering between the data model, the object model, and the database or DDL file. You can:

In addition to round-trip engineering, you can build a data model. You can:

The following describes the new Data Modeler add-in features that are available for this release of Rational Rose.

Data Modeler now supports Sybase Adaptive Server 12.x

Data Modeler allows you to create, edit, delete, and use specifications for the following elements:

Domain Package
Domain
Stored Procedure
Database Compare (with a DDL file or a database)

The Data Modeler compare feature operates using a wizard with an enhanced differences report. The final release of this add-in will also include Synchronization of the database or DDL file and the data model.

  • Custom Trigger Enhancement

This release of Data Modeler enhanced the custom trigger for the Oracle and DB2 models adding:

Levels of granularity
Update column lists for Trigger Event
Referencing clauses
When clauses
Automatic Key Migration

Data Modeler still provides automatic key migration, but now also allows you to migrate either the primary key constraint or unique constraint of your choice.

  • Browser Customization

Data Modeler uses customized stereotype icons for data model elements.

  • Physical Ordering

Data Modeler allows you to view physical order changes on the browser and the Data Model Diagram.

  • Round-trip Engineering of Primary Key

Data Modeler allows the primary key to be transformed between the object model and data model as a candidate key.

  • MS SQL Server 7.0 Performance Enhancement

This release of Data Modeler enhanced the performance of reverse engineering SQL Server 7.0 databases

  • Database Compare and Synchronization (with a DDL or a database)

Data Modeler Compare and Synchronization feature operates using a wizard that generates a graphical report of the differences between the data model and your DDL script or DBMS database, allowing you to synchronize data model elements with elements in your DDL script or DBMS database. This wizard also allows you to save the report of the differences before you synchronize.

  • Schema Migration

Data Modeler allows you to migrate your schema from one DBMS to another, or from one version of a DBMS to a different version of that same DBMS.

  • SQL Server NT Authentication

Data Modeler supports SQL Server NT authentication.

  • SQL Server Quoted Identifiers

Data Modeler supports the reverse engineering of the SQL Server bracket quoted identifier.

Rose Data Modeler Defects Fixed in This Release

Defect

Description

8821

Reverse/Forward Engineering database. In some cases the progress bar on the Wizard displays as "Complete" even though the process failed.

9383

Cannot edit a version-controlled table. Editing any Data Modeler item that is in a read-only schema because it is a write-protected control unit or source code control, results in an error if the user makes any changes and clicks OK or Apply.

9822

Win95 Users -When installing need to manually install Internet Explorer 4

10172

Data Models using DB2 MVS databases. Users need to construct a separate index for each primary key and unique constraint.

10267/10266

Forward Engineering to SQL Server database. Using Fully Qualified Names results in a multiple schema/owner database and cannot be reverse engineered into a new data model. Recommended for users not to use Fully Qualified Names so SQL Server will use default dbo and not separate schema/owner names. Reverse Engineering uses dbo schema/owner only. Tables not assigned to dbo schema/owner are ignored.

12296

Forward Engineering. Need to support DROP domain.

12432/12433

Reverse Engineering. Need to support reverse engineering distinct data types or user-defined data types to domains.

12813

Need to support synchronization

Known Rose Data Modeler Defects

Defect

Description

10351

OM-DM transformation and DM-OM transformation. Data type resolvers do not convert data types correctly. If users try to transform to a new model and then transform back to the original model, they must reset/maintain the data types manually

12807

Does not yet support Oracle packages

14815

Before you forward engineer to a DB2 MVS 6.x database provide a valid database name and tablespace name in the Tablespace field in the Table Specification, so the IN DATABASE.TABLESPACE clause will generate in your DDL. If you do not provide this information, the table will forward engineer to the default database.

Users must specify a valid database name and table space name in the tablespace field of the table editor, general tab so that when they generate the DDL, the IN DATABASE.TABLESPACE clause is included in the code. If not, the tables would forward engineer to the default database (whatever is setup to be their default database).

Use the fully qualified names checkbox if the database name is not specified This still requires tablespace name in the table editor, general tab.

15006

System Generated Trigger Name Causes Error in the Database That Object Is Already Existing.

MVS 6.x (could be the same case in MVS 5.x) has a limit of 8 characters in the Trigger Name. Currently, the system generated trigger code generates the name of the triggers automatically and assigns something like TRIG_0, TRI_1, etc as trigger names. When you forward engineer to the database, each time you forward engineer a relationship with a defined trigger, the name will always be TRIG_0 or TRIG_1 and the tables and the relationship don't get written to the database because the name of the trigger is identical or already existing in the database.

15241

Data Modeler currently support stored procedures for DB2 MVS 5.x.

15575

When you forward engineer to a DB2 MVS database, you should first update your generated DDL to include an ENVIRONMENT clause at the end of your CREATE PROCEDURE statement, and then execute your DDL to create your database.

When you forward engineer to the database stored procedures in MVS OS 390 6.x, update yourgenerated DDL file and include the clause WLM ENVIRONMENT PARTSA at the end of their CREATE PROCEDURE statement. Data Modeler does not generate this automatically in the DDL .

16823

Data Modeler Diagram GUI allows the user to set containment of the foreign key by reference and using unspecified mode (in addition to by value). However, data modeler does not support this for forward engineering.

16842

Stored procedures in the compare & synchronziation process are not yet supported.

16843

You must use a standard ANSI-code text based file to save the DDL script. Data Modeler does not support files using Unicode.

16845

It is recommended that, when synchronizing a data model with a database, you generate a delta DDL, before you update the database directly. By doing so you can verify that the DDL is correct and examine the impact of any data loss before the DDL is implemented.

16846

Do not apply unit-control on Schemas (the package to represent the root schema). If you do you will receive an exception error when you transform your object model to a data model.

Rose Framework Wizard

Rose Framework Wizard Features and Enhancements

The Framework Add-In provides a library of frameworks that can be used as templates when creating new models. The Framework Add-In also provides a wizard that helps you add additional frameworks.

Rose Framework Wizard Defects Fixed in This Release

Defect

Description

1519/147394

Get rfwframewrk - Run Time Error

2002

The Framework Wizard jfc-11 loads, but if you select File > New, Rose hangs.

Known Rose Framework Wizard Defects

Defect

Description

1943

Rose hangs when you attempt to create a new model after you open jdk-12

Rose J Add-In

Rose J Features and Enhancements

The Rose J add-in supports true round-trip engineering and provides support for large frameworks. This release of the Rose J add-in provides the following new capabilities:

Rose J Defects Fixed in This Release

Defect

Description

12160

Rose will not shut down if the Rose J add-in is not enabled

Known Rose J Defects

Defect

Description

16662

In the Rose J online help, obsolete Java frameworks are mentioned. When you start Rose, check the Frameworks dialog to see the extant Java frameworks.

16663

No context sensitive help for EJB & Servlet Class Properties treeview items.

16664

No context sensitive help for object finders labels in EJB Persistence Properties window.

16665

Incorrect EJBHomeMethod information in Rose J help.

The online help states that the EJBHomeMethod is updated using the Update EJB to Interface and Update Interface to EJB. However, the stereotype with this version of the spec is an abstract stereotype that is specialized by EJBCreateMethod and EJBFinderMethod where an update of the model is available.

This stereotype is not related with the concept of Home Method introduced by the 2.0 EJB spec. As a reminder the version supported by the Add-in is the 1.1 EJB spec.

Rose Oracle8 Add-In

Rose Oracle8 Features and Enhancements

Rational Rose Oracle8 enables you to create object models from Oracle8 relational schemas and extend them to exploit Oracle8's object capabilities.

Rational Rose Oracle8 visualizes existing relational databases and facilitates the discovery and composition of existing business objects. This enables you to preserve your investment in existing relational databases while taking advantage of all the benefits that object modeling and development bring to desktop and server applications.

Known Rose Oracle8 Defects

Defect

Description

8201

Rose Oracle8 add-in supports only Oracle 8.0.5 or higher using Win95 or Win98

Rose Model Integrator Add-In

Rose Model Integrator Features and Enhancements

The Rose 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. This release of Rose Model Integrator includes a new filtering feature, as well as support for unique identifiers, both of which enhance your ability to merge Rose model diagrams:

This feature allows you to ignore small changes in the position of objects in a Rose diagram when merging models.

You can access this feature from within Rose Model Integrator by selecting Filtering from the Options menu. This brings up the Filter Properties dialog box, which lists several Rose model properties and filter values for each one.

This feature adds unique identifiers to all Rose diagram elements. These unique identifiers enable Model Integrator to better track changes in model diagrams. You should note that these identifiers will also increase the size of your model files, both in memory and on disk, so enabling this feature is optional with this release. If you have problems merging models with drawings, you may want to try this feature; otherwise, you may not want to enable it.

To enable support for unique identifiers in Rose model diagram elements, you must modify the rose.ini file that is used when your copy of Rose is started.

Enabling unique identifiers support can improve the performance of Model Integrator when merging models with diagrams. For complete details on both of these new features, see the Rose Model Integrator online help.

Rose Model Integrator Defects Fixed in This Release

Defect

Description

1238

If you use Model Integrator with ClearCase, you must be running ClearCase 3.2.1 patch 10 or later.

9044

Incomplete error message if a reserved pathmap symbol is used in Model Integrator.

If you use the $ROSEHOME pathmap symbol in the Model Integrator pathmap dialog, you are only given a warning, instead of being prevented from using it. The workaround here is to take the advice of the warning message and not use the symbol.

9237

Model Integrator Resolve Selected Nodes Using... menu option has missing text.

This menu command has keyboard accelerators which should display in the menu, but they do not display correctly for loaded contributors. The commands are still active even though the text is not displayed.

9238

Start State name in diagram not updated.

When Model Integrator merges a state machine from two models which have start states for the same diagram with different names, Model Integrator will require that only one start state be chosen. However, labels in the state chart that bear the name of the rejected start state may still exist. The workaround is for the user to edit and correct these names in Rose.

10064

Incorrect pathname warning appears after editing subunit pathname.

If you change the name or path of a subunit to load in the Subunits dialog box, and you press Return to terminate the edit, Model Integrator tries to load the subunit with the old name. The workaround is to terminate the edit with the Tab key or using the mouse to select another field, rather than pressing the Return key.

10177

No prompt "Overwrite *.cat file?" if a subunit is edited to have the same path and file name as another subunit.

If you edit the name of a subunit in the Subunits dialog and you make the fully qualified name of the subunit identical to another subunit in the dialog, Model Integrator will not detect this and will overwrite the other subunit file, destroying its contents.

10552

Class type always reverts to "class" after saving merged model.

If a class type for an existing class changes in the merge, the change is not copied to the merged model. For example, if a class has a type of Class but one of the contributors changes the class type to MetaClass, the class type will still be Class in the final merged model.

12919

Model Integrator fails to accept a ClearCase version 0 model file. When ClearCase puts a model file under version control, it creates a blank file for version 0 (e.g. file.mdl/main/0). MI will not load this file for merging purposes because it does not contain valid petal information. To correct this situation, MI now accepts a blank file as the base file if the filename has a ClearCase extended path name

12922

Model Integrator should not show differences in petal headers. Since MI will rewrite the petal file header on output, such differences are not relevant to the user. This version of MI does not highlight such differences/conflicts with icons or count them in the differences count.

Known Rose Model Integrator Defects

Defect

Description

1236

Model Integrator does not support ClearCase elements.

Model Integrator does support ClearCase versions for primary units specified on the command line or in the Contributors dialog, but it does not correctly parse subunit filenames to create version-enhanced filenames used by ClearCase. The workarounds are:

  • Merge subunit files individually using ClearCase.
  • Create separate views in ClearCase which contain all the proper versions of your model's subunits and then merge the models independently of ClearCase (start Model Integrator in the normal way and enter the model filenames in the Contributors dialog). Check the resulting merged model back into ClearCase when you are finished. You will need to create 3 views: the base view containing the previously checked in version, the latest version, and the version you want to merge.

1601

Model Integrator is stuck.

When closing the program, Model Integrator must free all the memory it has allocated. If the models are large, this can take a fair amount of time (usually less than a minute). During this time Model Integrator appears to be "stuck" and it will not respond to user or system commands. The workaround is just to wait for Model Integrator to complete, or if you are waiting too long, kill the Model Integrator process using your system's kill procedure (Task Manager on Windows, kill on UNIX).

1614

Project specs in Java and CORBA.

Directories specified for code generation may not be merged properly into the merged model. The workaround is to reenter these directories in Rose.

2169

Model Integrator allows user to select more than 7 contributors.

Model Integrator only allows 7 contributors, but it allows the user to select an 8th contributor and then issues an error message.

7469

Model Integrator creates duplicate model elements.

In a situation where one contributor has renamed a model element to new name and another contributor has added the same new name to the model without renaming the old model element, Model Integrator may produce a model with two model elements having the same name. The workaround for this is that when the model is loaded into Rose, Rose will report an error and rename one of the model element automatically. Visit these elements in the Rose browser window and correct the names of the elements.

Rose Type Library Importer Add-In

The Rose Type Library Importer add-in allows you to import a type library of a COM component into the model by dragging the COM component from Windows Explorer and dropping it in Rational Rose.

You can control several aspects of how type libraries are imported into the model. For example, you can control:

There are no known defects at this time.

Rose Version Control Add-In

Rose Version Control Features and Enhancements

The Version Control Add-In, formerly known as the Source Code Control Add-In, provides integration between Rational Rose and any SCC-compliant version control system. It makes the most frequently used version control commands accessible directly from the Tools menu and from shortcut menus in Rose.

Upgrading from the Visual SourceSafe Add-In

The specific Visual SourceSafe (VSS) integration available in Rose 98i was incorporated into the Version Control Add-In in the Rose 2000 release. This Add-In now handles a super set of the VSS specific features. To upgrade a model that has been put under version control through the VSS Add-In, use the following steps:

  1. Make sure that the model is not opened in Rational Rose.
  2. In Microsoft Visual SourceSafe, check out all the controlled units that belong to the model.
This cannot be done through the Version Control add-in because the add-in does not know the model is under version control.
  1. In Rational Rose, open the model.
  2. For each set of units that are located in the same SourceSafe project:
Click Add to Version Control on the Tools menu's Version Control menu.
  1. Select the units.
  2. Click the Browse button and search for the project that corresponds to the working folder where the unit files are located.
  3. Clear the Keep Checked Out option (if you want to check in the units again).
  4. Click OK.

Because the model is already under version control, the Version Control Add-In only updates the controlled units with additional version control information. From now on you can use the Version Control commands to check out and check in the units.

Rose Version Control Defects

Defect

Description

1355

The "Get Latest" menu option for the source control add-in may not work correctly with Visual Source Safe. This has been identified as a problem when working with nested units.

Workaround:

When you are ready to do a "Get Latest," bring up the VSS explorer through Tools > Version Control > Start Version Control Explorer and then select the appropriate files. Next, select "Get Latest" from within the VSS Explorer to actually obtain the latest version of the files into your working folder.

1539

When attempting to remove from Version Control, if the parent of a unit is write protected, the unit will be removed from the SCC provider, but will not be uncontrolled. The user will get a message stating the parent is read only. If the user wishes to then uncontrol it, they should write enable the parent and use the Units\Uncontrol menu item.

Rose Visual Basic Add-In

Rose Visual Basic Features and Enhancements

The Rose Visual Basic add-in enables Rose to model, generate, and reverse engineer code for applications written in Microsoft Visual Basic. The Rose Visual Basic Language Support tools in Rose are tightly integrated with the Microsoft Visual Basic environment, allowing you to seamlessly progress through the round-trip engineering process.

The Visual Basic Add-In release note describes new features and enhancements, known problems and limitations, and fixed defects since the last release.

The Visual Basic Add-In tools are:

This release of Rose Visual Basic includes a WinDNA code template enhancement. The fetch methods provided by the ADB.Fetcher code template for Visual Basic classes can now connect to a database using either stored procedures or SQL statements. The previous release supported only SQL statements.

Rose Visual Basic Defects Fixed in This Release

Defect

Description

3187

CStr() behaves differently on international VB versions, preventing VB class generation on German OS.

Because the strings True and False are localized in German, CStr(True) results in Wahr and CStr(False) results in Falsch, causing problems with the code. (The code assumes that these strings are not localized.)

Known Rose Visual Basic Defects

Defect

Description

16042

The WinDNA Code Templates are presented using DHMTL in the VB Model Assistant. Some problems have been recognized when running these on version 4.0 of Microsoft Internet Explorer. The solution is to upgrade to IE5.

16729

Rose VB code generation dialogs do not recognize the euro symbol

Problem

The shortcut keys in the Visual Basic IDE are sometimes disabled when the Rose Tool Window in Visual Basic is opened.

Solution: Switch applications back and forth in the taskbar, or open and then close any dialog box in Visual Basic.

Problem

Rose Visual Basic does not work properly if Microsoft Visual Modeler is installed on the same computer.

Solution: Before installing Rose Visual Basic 2000 you must uninstall Microsoft Visual Modeler.

10932

On Windows 98, when you run VB scripts in the Model Update Tool in visible mode, a message will appear after you click the Close button on the summary page. The message "Wscript" says that the program has performed an illegal operation and that the program will be shut down. The message does not affect the functionality in the Model Update Tool or in Rose and can be ignored by clicking OK.

This message does not appear on the Windows NT, Windows 95, and Windows 2000 platforms.

Rose Visual C++ Add-In

Rose Visual C++ Features and Enhancements

The Rational Rose Visual C++ Add-In provides the interface between the Rational Rose modeling environment and Microsoft Visual C++. The main features of Rational Rose Visual C++ include:

Code generation (Code Update Tool)
Reverse engineering (Model Update Tool)
  • Support for the Microsoft Active Template Library (ATL)
  • Support for Microsoft Interface Definition Language (MIDL) round-trip engineering
  • Model Assistant tool
  • User-defined code generation templates
Improved C++ Language Support

Rational Rose Visual C++ now supports the following C++ language constructs:

  • Enumerated types (enum keyword)
  • typedef type declarations
  • Nested classes

Refer to the online help for details on how these constructs are mapped to UML.

Model Assistant Support

The Model Assistant now supports enum classes, typedef classes, and nested classes. When you open the Model Assistant on a class, you can quickly navigate to any of its base classes or any associated classes by right-clicking the relation icon and selecting Browse .

Role Specifier Visibility in Diagrams

Rose Visual C++ uses the UML role "specifier" to contain the implementation code for an association role. For example, if there was an association from class Client to class Server , and the desired implementation for that role was a CObList collection class, then the association role name would be

myServers : CObList

where the expression after the colon is the UML role specifier.

Rational Rose will now let you control the diagram visibility of the role specifier. You can set the default behavior for the whole diagram from the Diagram tab of the Tools/Options dialog. You can also right-click on any individual role to turn the role specifier visibility on or off for that role.

User-specified File Name Generation

When you create a new class in the model, you can now specify the name of the file in which the header code should be generated. You can also specify the name of a file to receive any function body code that is generated. For details, check the online help index for the following topics:

  • HeaderFileName (Class Property) - VC++
  • CodeFileName (Class Property) - VC++
User-specified Logical View Package for Reverse-Engineered Classes

In previous releases, the Model Update Tool always placed classes that were new to the model in the Logical View\Reverse Engineered\<ComponentName> package. You can now specify the default package using the Model Update tab on the Tools/Visual C++/Properties dialog. The defaults are:

  • C++ Classes

Logical View\VC++\<ComponentName>

  • Microsoft IDL (MIDL) Classes

Logical View\MIDL\<ComponentName>

  • This option is saved on a per-user basis to better facilitate team development.
Support for Rose Virtual Path Map Functionality

Users of controlled units in team development take advantage of the Virtual Path Map feature in Rose. This feature allows controlled units in a model to be moved between different folder structures on different computers.

Rose/Visual C++ saves the folder location of Visual C++ project files in the model. By default, it does not save the path as a virtual path.

Follow these steps to change this default behavior:

  1. On the Tools menu, select Options .
  2. Click on the VC++ tab.
  3. From the Type dropdown menu, select Module Specification .
  4. Change the value of the UsePathMap property from False to True .

Refer to Virtual Path Maps (Overview) in the online help for more information.

Upgrading from a Previous Rose Visual C++ Add-In Release

This release of the Rose Visual C++ Add-In is backward compatible with previous versions of the add-in.

The support for MIDL in this version of Rose is deeper than in Rose 2000. When you use Code Update Tool or Model Update tool on a model created by Rose 2000, this version of Rose will automatically add new components stereotyped as <<MIDL>> for existing components that represent MIDL projects. Model classes that are stereotyped <<coclass>> or <<interface>> will be automatically assigned to the <<MIDL>> components.

It is recommended that you use the Model Update tool on your Rose 2000 models before attempting to generate code using this version of Rose.

Converting Models from Rose Classic C++ to Rose Visual C++

The model formats used by the Visual C++ and Classic C++ Add-Ins are not interchangeable. If you want to use the Rose Visual C++ on models created for use with the Rose Classic C++, you must convert the models using the Model Converter.

On the Tools menu, click Visual C++ and then click Model Converter .

Rose Visual C++ Defects Fixed in This Release

Defect

Description

1284

Window hangs during Roundtrip Engineering without reload of the modified files.

1292

Attempting to RTE a project when the Visual C++ IDE is blocked waiting for the user to close a modal dialog can cause failures in the Visual C++ IDE.

1333

If a VC Add-In project name is different than a component name, problems occur on forward engineering.

2740

You must run Rational Rose once after installation while Visual Studio is inactive in order to activate the Visual Studio Add-in supplied by Rational

9774

. Running Model update on large model will cause undo buffer overflow

9293

Rose/VC++ Model Assistant destroys some aggregations

13562

Support for common "rename" use cases in COM/ATL

14244

Failed to rev engr template<class T, class A = T*> ...

14796

Can not RTE constructors with arguments that have default values

Known Rose Visual C++ Defects

Defect

Description

15977

The Synchronize page on the Model Update and Code Update tools will now display nested classes as separate checkbox items. If you check a nested class, then that class will be deleted. However, deleting an outer class will also delete any nested classes that are contained within that class, even if the nested classes are not checked.

15946

If you generate code for a class that has an initial value for a non-static class attribute, the initialization code will be generated in the default constructor. However, if you rename that attribute and generate code, the old initializer will remain, and a new one for the renamed attribute will be added. The workaround is to remove the old initializer.

15940

If you generate code for the a function named Test1() that is stereotyped as <<abstract>> , and has no return value, the code generated will be:

virtual Test1() = 0;

If you now add a return type in the model and generate code again, the new return type will not be generated in the code.

The workaround is to manually add the return type in the code. The Model Update Tool can then be used to update the model with the new return type.

Note also that when both the model and code have a non-null return type, the Code Update Tool will correctly generate changes in the model's return type into the code.

15310

On a diagram or in the browser window, you can select a class, right-click, and invoke Code Update Tool. If you select a nested class and invoke Code Update Tool, the tool will be displayed but no classes will be selected

The workaround is to always select the outermost class. You cannot independently generate code for nested classes.

12997

If you delete an inheritance relationship in the model and use Code Update Tool to generate code, the code for the inheritance will not be deleted. Workaround is to manually delete the code.

Rose Web Modeler Add-In

Rose Web Modeler Features and Enhancements

The Rational Rose Web Modeler provides visualization, modeling, and tools for developing web applications.

To support visualizing and modeling N-tier web applications, Rose Web Modeler assigns a set of stereotypes and tagged values to your web artifacts. Unified Modeling Language (UML) extensibility features enable modeling the artifacts required to build a web application. Stereotypes and tagged values represent an extension of UML.

Rose Web Modeler creates a model of your multiple tier web application, using specific web artifacts. It supports the Microsoft Windows DNA 2000 (WinDNA), and IBM E-Business Architecture Framework (EBAF) technologies used to build and deploy e-commerce systems.

To visualize and model N-tier web applications, you select the web artifacts from a directory. Rose parses the web artifacts and creates views to show the static structure using the stereotypes and tagged values implement for visualizing and modeling N-tier web applications. You can use Rose Web Modeler to parse HTML files and forms (.htm and .html files) and active server pages (.asp and .asa files).

Rose Web Modeler creates the following diagrams from your N-tier web application:

Rose Web Modeler Defects Fixed in This Release

Defect

Description

6324

GUI tree control and Virtual Root edit box are not always synchronized

6367

Current drive and tree control are not always synchronized

6881

Parser generates NullPointerException if passed an empty virtual root

Rose Web Publisher Add-In

Rose Web Publisher Features and Enhancements

Rose Web Publisher allows you to publish Rational Rose models in HTML format. The Web Publisher Add-In exports your Rose model as HTML (including diagrams) so you can view them using a standard browser such as Microsoft Internet Explorer or Netscape Communicator. The Web Publisher also produces meta tags for use by search engines.

Rose Web Publisher Defects Fixed in This Release

Defect

Description

1487

WebPublisher published swimlanes are hard to read

10825

Custom stereotype icons published to jpeg format using Web Publisher do not appear

Known Rose Web Publisher Defects

Defect

Description

1488

Web Publisher keeps two Internet Explorer windows open.

Rose XML DTD Add-In

Rose XML DTD Features and Enhancements

The Rational Rose XML DTD Add-in provides visualization, modeling, and code generation to create XML document type definitions (DTD) for use in your application. You can reverse engineer an existing XML DTD to visualize a DTD's structure using a Rose class diagram. After modeling an XML DTD, you can use the Syntax Checker to validate your XML DTD. From the valid XML DTD model, you generate code to create a new XML DTD.

In addition to reverse engineering an existing XML DTD, you can model a DTD using Rose class stereotypes for XML elements, element attributes, entities, and notations. By modeling an XML DTD, you can visualize the structure of the document to see which element definitions to change or remove. You can also share your XML DTD model with members of your development team to verify that you have captured the XML document requirements.

An XML DTD syntax checker finds errors in the XML DTD model, allowing you to make corrections before the DTD before is implemented. Use the Generate Code feature to produce an XML DTD that you can test or implement in your environment.

To support mapping XML to UML, Rational Rose extends UML with stereotypes for XML elements, element attribute lists, entities, and notations. Stereotypes also represent XML operator symbols, sequence lists, choice lists, and element and element attribute multiplicity.

Trademark Information

Rational, the Rational logo, Rational Rose, ClearCase, and Rational Unified Process are trademarks or registered trademarks of Rational Software Corporation in the United States and in other countries.

Visual C++, Visual Basic, Windows NT, Developer Studio, and Microsoft are trademarks or registered trademarks of the Microsoft Corporation. BasicScript is a trademark of Summit Software, Inc. All other names are used for identification purposes only and are trademarks or registered trademarks of their respective companies.