Rational Rose Release Notes

Version 2001A.04.00

Windows

Part Number: 800-024468-000


Scope

These Rational Rose release notes provide:

The printed and electronic versions of the release notes that were packaged with your software contain the most up-to-date information available at release time.

Updated versions of the release notes will periodically be posted on the World Wide Web. Please check the Rational Web site at http://www.rational.com/support/documentation/release/ to ensure that you are using the latest version of this document.

When you are ready to install Rational Rose, be sure to check the Web for the latest available downloads:

1 From http://www.rational.com, click Support.

2 Go to the Download Center and navigate to Rational Rose Upgrades and Patches.

Also remember to have the Installing Rose and Administering Licenses manuals available to provide all the information you need to complete your installation.


Trademarks and Copyrights

A complete online trademark and copyright information page for all Rational products resides in the /doc subfolder of your installation folder. The file is called copyright.html, and its default location is C:/Program Files/Rational/doc.


Product Definition

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


System and Software Requirements

This section describes the system and software requirements for installing and running Rational Rose and its add-ins.

Server System Requirements

To plan your Rational Rose environment, you will need to determine which systems, if any, will be server machines. Server systems need to be highly available, and may need extra memory and disk space. The following table describes the types of servers you may need.

Table 1 Servers Used with Rational Rose
Type of Server

Description

License server
If you use floating licenses, you need to set up a server to administer the licenses. For more information, see Administering Licenses for Rational Software.
Database server

Additional System and Software Requirements

The following table describes the additional system and software requirements for Rational Rose and its add-ins.

Table 2 Rational Rose Requirements 
Item

Minimum Requirements

Operating Systems

Hardware Requirements

Windows Terminal Server
Rose supports Windows Terminal Server on these platforms:
Hosted Development Systems (remote sessions)
Rose supports hosted development on these platforms:
Web Browsers
Rose add-ins that use a Web browser (for example, Web Publisher) support most common browsers. Note: Because some Rational products require certain Microsoft Internet Explorer components, if the Rational Setup program does not detect Internet Explorer 4.01 on your system, it will not allow the installation to proceed. This does not mean that you are required to use Internet Explorer as your browser. If you do not have Internet Explorer, you can download it from Microsoft's Web site: http://www.microsoft.com/windows/ie.
Web Clients on Non-Windows Platforms
Rose supports Netscape 4.x on Solaris 2.51 or later, or on HP-UX 10.20 or later
Microsoft JVM
MS JVM Build 3802
Java
Rose J supports the following Java IDEs. Use the JDK appropriate to your IDE.
Network Server Requirements
If you use Sybase SQL Anywhere software, make sure that your database server meets the following minimum hardware and software requirements:

Note: Novell NetWare is no longer supported for network servers.


Rose Data Modeler Databases

Rose VC++
Requires Microsoft Visual C++ 5.0 or 6.0 (Visual Studio 6.0)
Rose Visual Basic
Requires Microsoft Visual Basic 6.0 (Visual Studio 6.0)
Rose J
Requires JDK 1.1.6 or another supported Java IDE.
Monitor
SVGA-compatible display (256 or more colors recommended) with resolution of a tleast 1024 X 768 pixels
Mouse/Pointing Device
Any pointing device with at least two buttons
Automated License Key Requests
Internet connection required for license requests
Dual Boot Systems
Installation of Rational Rose on dual-boot systems is not supported
Archive Utility
WinZip or equivalent
Rational Documentation
Adobe Acrobat Reader 4.x or higher to read online PDF files


Rose Documentation

The goal of all Rose technical documentation is to provide the most appropriate and usable 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 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 have noticed that the printed documentation set has changed recently. Several printed manuals have been eliminated because their content was exactly the same as that of the online Help. On the other hand, several newer books that provide important background or supplemental information are now available. In future releases, we hope to provide more of these value-added publications, while continuing to update our comprehensive online Help systems.

To print the complete online Help for Rose 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 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 Web site, http://www.rational.com.

Rose Tutorials

Tutorials that Come with Rose

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 http://www.rational.com and navigating to the Try It Center for Rational 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 file is approximately 4MB in size and its name is RoseTutorialFiles.exe. When extracted, it requires approximately 28MB of free disk space. For more information, refer to the Tutorial Read Me file, which is accessible from the Rose Start menu.

Note: Even though the name of the Rose tutorial has not changed (it is still called Rose 2000 Tutorial), several errors from previous releases have been fixed.

The Rose tutorial provides an overview of Rational Rose, and then takes you through the application development process beginning with business modeling all the way through 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 to the highest number of colors possible.

Note: In Windows, you can control your display settings from the Control Panel.


Contacting Rational Technical Support

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

Your Location

Telephone

Fax

E-mail

North America
(800) 433-5444 (toll free) (408) 863-4000 Cupertino, CA
(781) 676-2460 Lexington, MA
support@rational.com
Europe, Middle East, Africa
+31 (0) 20-4546-200 Netherlands
+31 (0) 20-4545-201 Netherlands
support@europe.rational.com
Asia Pacific
+61-2-9419-0111 Australia
+61-2-9419-0123 Australia
support@apac.rational.com

When you contact Rational Technical Support, please provide the following information:


Getting Started

Consider the following guidelines as you plan to install or remove this version of Rational Rose.

Rose Add-in Guidelines

If you are using Visual Age Java (VAJ), be sure to install it before you install Rational Rose. If VisualAge Java is not installed before Rose, the Rational Setup program will not install the Rose add-in for VAJ. In addition, this entry will be omitted from the list of add-ins available for Custom installation.

General Guidelines

Licensing and Permissions Guidelines

File Location Guidelines

Shared File Guidelines

The Rational Software Setup program installs some shared components, which are potentially available to other applications on your system. Setup installs the U.S. English version of these files. It does not overwrite newer file versions.

If the Setup program needs to update shared components, it displays a list of the shared components that require updates. The files listed must be installed on your system before the installation can proceed.

In general, we recommend that you allow the installation procedure to install shared files for you. In the following circumstances, you may want to install the files yourself:

Backup Guidelines

You should back up your registry and system directories prior to running the Rational Software Setup program. In addition, make system backups of any machines on which you plan to install Rose. Specifically, we recommend you make backups of the following files:

Version Compatibility Guidelines

If you have older Rational products installed on your system, you must ensure that all Rational products on that system are upgraded to the same version. Because Rational tools share files and components, a new installation can cause the older Rational products to stop working. You will see no visual clue that the older products may be compromised.

See the Installing Rose manual for complete information.


Core Rose and Rose Extensibility Interface

Core Rose Features and Enhancements

This release of Rational Rose includes these new features and enhancements:

Note: New and changed Rose add-in features are covered under separate add-in sections of this Release Note.

New Rose Internal Editor

This release of Rose also includes a new internal Editor. The internal editor supports text-editing, language-specific syntax formatting, editor style preferences, and compilation of displayed code for the following types of generated files:

The Editor's syntax highlighting defaults to ANSI C++ for files without file extensions.

In addition, for Java, CORBA, and ANSI C++ language elements, the Editor supports automatic synchronization between model elements and their source code.

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:

Core Rose and Extensibility Defects Fixed in This Release

Defect

Description

5621
When a class is shown on the diagram, if its Specification dialog is opened and the Operations tab is displayed, selecting an operation and copying it using CTRL-C will cause the operation to be removed from the class on the diagram.
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.
9965
All users on a Windows Terminal Server machine with Administrator privileges share the same Rose.ini file. This means that all of these users will share the same Rose settings and any change by one user will be seen but the next user
10581
Selecting Edit Compartment on an object in a state diagram and then pressing Enter will change the compartment of the object to have no items listed. This is because the Edit Compartment dialog defaults to no items selected and pressing OK accepts that default. To avoid this and keep your previous selections, click Cancel in the Edit Compartment dialog.
11005
The Euro symbol is not displayed in the Rose Log.
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);
14746
If a user loads the JDK116 framework into Rose and then deletes the Java Package Rose will crash
14763
Problem viewing object Specifications entered in Japanese To see the characters in Japanese: 1. Go to Tools>Options and then click the General tab. 2. In the Documentation Window Font, click on Font. 3. In the Fonts dialog, choose a font that can display Japanese characters. Please note that Arial does not support Japanese script.
15796
Rational SoDA will show Implementation access types for class attributes and operations appear as Private.
17735
On Windows 2000 and Windows ME, when attempting to add a file reference to an element in a model, if a nonexistent path is entered Rose will crash.
19271
If you select Query>Filter Relationships and then select Associations, dependencies are filtered out of the diagram as well.
19290
The Rational Rose Document CD and most printed documentation kits contain the Rose Team Development Guide. The following information in this book was included in error and should not be used:
3881 19639
If a Java or Corba Specification dialog is displayed and the Rose browser is not docked, Rose will lose focus when the Specification dialog is closed. To proceed the user must terminate the Rose process and all unsaved data will be lost.

Known Core Rose and Extensibility Defects

Defect

Description

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.
no number available
The Help topic Visual Studio RTE Extensibility Drag-Drop Add-In Sample, section How to Run the Sample requires the following update:
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 > 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
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.
2090
Print Preview does not work consistently for all diagram types.
3093
The Activity icon does not display the history graphical depiction on it. It is also not possible to drag the "History" icon from the browser to the diagram.
7871
Text within the brackets on messages is lost on all sequence diagrams when user clicks Apply after changing the Message Signature option.
8718
The Fit to Page print feature will occasionally not leave enough space at the bottom of the page for the last element on a diagram. This happens when the diagram, as normally displayed, is just a little too large to fit on one page
9168
Some custom stereotype icons added to previous versions of Rational Rose do not display correctly. Workaround: Open the icon file (.wmf) 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:
11555
Problems with McAfee 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 the fact that Rose' is comprised of many components, is the cause of the slowdown in Rose startup. The best solution at this time is to disable scanning of ini files in McAfee. To do this follow these steps:

1 Go to the system tray and double-click the Vshield icon.

2 In the System Scan dialog, click Properties.

3 In the Properties dialog, make sure that the Virus scanner is scanning for program files only.

4 Click Extensions.

5 In the Program File Extensions dialog, find the .ini extension and click Delete .

6 Click Ok to close the Program File Extensions dialog.

7. In the Properties dialog, click Apply 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 the Check Model command 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 occurs occasionally during model loading if the model was created using 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 ). 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 upon 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 RoseLog. The warning is also generated by Tools->Check Model. To correct the unresolved relations:

1 Load the model into Rose.

2 Check the Log file for Unresolved Relation warnings.

3 Open the Class Specification for the client class and click the Relations tab.

4 Note that the unresolved relation (generalize or realize) is the one with the class name in brackets in the name column.

5 Determine which classes are involved in the circularity.

6 Delete the undesired relationship using the Class Specifications Relations tab.

Shared Objects - Shared activity diagram objects (allowed 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 integrity or validity because of this since an object is not actually a model element -- it does not define anything, and is only an instance of a class used for visualizing state or behavior.

11810
Printed diagrams can differ from what is displayed on the user's screen. For example, some longer operations do not print completely. If the text on the screen is:

provideWorkflowClosure(WorkItemClosureData) : void

the printout might only show:

provideWorkflowClosure(WorkItemClosureData) : v


14249
A new Creates a Form class diagram toolbar is available, but you must manually add it to the toolbar.
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.
17061
If a state or activity diagram contains a view of an element from another state or activity diagram/model, the Query > Expand command will not work for that element.
18168
Deleting a package with a class attached to a read-only object in an activity diagram will cause Rose to crash
18734
It is not possible to delete an unloaded controlled unit from a model. To delete a unit from a model, first load that unit and then delete it.
30165
When a message is created between two existing messages and the sequence numbering is on, the new number is drawn at the very bottom of the diagram. Workaround: Manually reposition the message sequence number label.


Rose ANSI C++ Add-In

Rose ANSI C++ Features and Enhancements

Rose ANSI C++ is the newest 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, and the ANSI C++ online Help provides instructions for this easy conversion.

Rose ANSI C++ provides:

Batch File Load

Progress Bar/Cancel

Macros

AutoSync

Rose ANSI C++ Defects Fixed in This Release

Defect

Description

11549
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.
11689
Automatic code generation does not create new #include statements when existing code elements are modified using model edits. It only creates them when new items are added.
11961
The ANSI C++ add-in does not create directories during code generation. 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.
12569
If a .cpp file containing only a #include statement is reverse engineered, the code generator will place this #include statement in a header file on forward engineering.
15144
When attempting to generate code for a collection of classes, if the Root Directory field in the Code Generation dialog remains empty, a warning dialog is presented once for each of the selected classes
17848
The Typename keyword is not supported.
19170
AutoSynch does not remove the data member in the header file when removing its corresponding attribute in the Rose class.
19210
When AutoSynch is enabled, adding an operation to the class produces the correct declaration of the operation, but the operation body is also defined in the header file instead of in the .cpp file as one would expect.
19309
Rose is unable to browse the .cpp file with the editor after generating code and then reverse engineering.
21101
Converting from Classic C++ fails if a class is assigned to C++ Package Body and Specification components.

Known Rose ANSI C++ Defects

Defect

Description

8350
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 command.
10091
If the stereotype of an operation in the model is changed to <<const>>, and the return type of that operation is a pointer to a function, then the "const" will be inserted into the code in the wrong place.
10776
When generating code, Rose ANSI C++ does not make backup copies of files it changes, nor does it provide an undo mechanism for such changes. You are strongly encouraged to backup your source files or have them under an effective source code control mechanism before generating code.
11115
If a typedef defines more than one name, Rose ANSI C++ does not reverse engineer the typedef. For example, while reverse engineering the following code completes without error, only the struct myStruct appears in the model; the typedef does not. >>> typedef struct myStruct { DWORD Version; DWORD Size; } myName, * lp_myName; <<<
14630
Documentation of model elements is mapped to comments in the code during code generation, but the comments are in a special format, namely: //##Documentation //##This is the actual documentation. If you use this format to enter comments in your code, reverse engineering will result in the comments being mapped as documentation in the model. Code comments in any other format are ignored during reverse engineering.
15120
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 reverse engineering before generating code will cause the following message to be displayed: Class cannot be reverse engineered because it does not exist in the project files.
17114
When a template class is deleted from the code, and then the code is reverse engineered, the corresponding template class in the model is deleted; however, anonymous classes that are instantiations of that template are not deleted.
17844
The initial values of static attributes are not updated during either code generation or reverse engineering. The initial values are used when an item is created for the first time in either the code or the model, but are not changed if the item already exists.
20639
Types nested within template instantiations may not be used as base classes or the ends of assocations, since such types are not modeled. Reverse engineering such code can result in an incorrect model. For example, if the following code is reverse engineered, the base class of class c will be "a<b>", not "a<b>::z". template <class t> class a { typedef t z; }; class b { }; class c : public a<b>::z { };
21809
Automatically generated #include directives are always relative to the source file root directory. There is no easy way to force them to always be simple names or to make them relative to some other directory.
24206
With AutoSync enabled, when a class in the model is changed from being at package scope to being a nested class, its new definition is correctly added to the code of its containing class, but its old definition in the code is not deleted.
25046
Rose ANSI C++ does not work with components whose stereotype is one of Main Program, Package Body, Subprogram Body, or Task Body. Components with such stereotypes cannot be used for code generation or reverse engineering with Rose ANSI C++.
20667
When looking up the supplier for relationships, ANSI C++ does not first look at types defined within base classes. For example, when you reverse engineer the following ANSI C++ code, the association representing myB will go to the globally scoped B, even though, according to the language, the type of myB should be the B nested within C. class B {}; class C { public: class B { public: int x; }; }; class D: public C { private: B myB; void test() { myB.x = 0;} };
25468
The documentation for a parameterized class does not survive roundtrip engineering. During code generation, the documentation is added to the code. However, during reverse engineering, the documentation is removed from the model, even though it exists in the code.
26152
The visibility of member using declarations is not reverse engineered; they always appear in the model as private.
27682
With AutoSync enabled, deleting an association from the model does not result in any changes to the code. The code will be correctly updated during the next explicit code generation operation, rather than as soon as the association is deleted.


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 to Ada code.

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

The Rose Ada code generator:

New Rose Ada Features and Enhancements

There are no new Rose Ada features for this release.

Rose Ada Defects Fixed in This Release

Defect

Description

3486
preserve=yes as default when generating Ada bodies. A new operation property InitialCodeBody, specifies code that should be emitted in the user generated subprogram body. The first time the code is emitted, the protected region is set with preserve=yes. The code will be preserved on subsequent code regenerations, until preserve=no is set, by the user. The name default refers to the value of the project property DefaultCodeBody. The default setting is ${default}.
11093
Rose Ada should allow [statement] to be overridden. A new project property -- DefaultCodeBody, specifies what code should be emitted in generated subprogram bodies. The default setting is [statement].
11737
Ada 83 and Ada 95 -- A new value RenamingAsBody has been added to the SubprogramImplementation property. This effectively replaces Renaming, which is now used to generate a renaming-as-specification. Note: You must explicitly change any earlier setting of Renaming to RenamingAsBody, if renaming-as-specification is not desired.
12329
Code generation ignores the Abstract field for an operation.
12687
Formal parameters are not substituted for unconstrained parameterized implementation.
13429
Private inheritance defects
13504
Decl dependency not handled correctly
14965
Rose Apex needlessly reports circularities among nested packages.
15393
Type Name is not substituted in an association with an instantiated class.
15404
Code generated for inherited discriminants does not comply with the Ada 95 LRM
15791
Rose Ada 83 does not generate code if the class name contains the colon (:) character.
16141
Only some of the ContainerDeclarations are generated.
16416
Default implementation of equality recurses indefinitely.
16667
Illegal code is generated for bidirectional associations that has a decl relationship.
17059
Ada code generation objects to circular dependencies, even when legal.
21639
Apex subsystem views are created incorrectly.
21774
Ada 83 - Visibility of static attributes is not working.
21919
Ada 83 code generation --The order of operation in the specification does not match the order of operations in the body.
21923
Ada 83 code generation - Protected operations were previously placed in the visible part of the package. Protected operations are now placed in the protected part of the package, just as they are in Ada 95 code generation.
21924
Ada 83 code generation - Class utility operations and attributes are incorrectly generated.
23596
Ada 95 code generation cannot generate a package body of a class utility, even when the operations are defined.
24880
Accessor functions are not generated for abstract classes

Rose Ada Fixes with No Associated Defect Number

The following defects, not associated with a defect number, have been fixed and no longer occur:

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

Note: While Rose C++ is still supported, there are many advantages to working with the new Rose ANSI C++ add-in, and we encourage all Rose C++ users to consider using it. A model converter comes with this release, providing an easy transition from Rose C++ to Rose ANSI C++. For details, see the release note information on the Rose ANSI C++ add-in. This will be the final release of Rose C++.

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 for 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 regenerating code of a different version, Rose C++ generates a version stamp and includes it in the generated code. Refer to Rose C++ Code Generator Versioning, later in this section, 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 was written with a newer code generator that supports the same annotation format.

Minor downgrades may cause problems if your current model or code depends on capabilities that were introduced in a newer code generator. Note that minor upgrading remedies such problems. Minor downgrades do 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 downgrade 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, which is False, 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 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 have been introduced to address this problem.

A particular code generator will produce a version stamp that characterizes the annotation format used and the version of the code generator relative to this annotation format, which are called annotation version and minor version, respectively. The version stamp itself has the form of a protected/preserved region. It is not meant to be modified in any way nor deleted by the user 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 C++ Annotation Upgrade, later in this section, 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 settings assume 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 was written by an older code generator. The behavior is as if found a stamp denoting version 0.0. The C++ Version Comment Orphaned online Help topic provides more information about the effects of using a version 0.0 code generator on newer version- stamped code.

C++ Annotation Upgrade

A major annotation upgrade occurs when code that was written using an older code generator (one that supports an older annotations format) is updated.

An annotation upgrade is introduced to put more information in the code to enable proper recognition of preserved regions in complex situation; for example, support for recognizing the preserved regions for property-generated operations (such as assignment operators) .

Changing the annotation format has disadvantages, which is the reason you should only do so 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 or not this is true depends upon the particular format change you are introducing. In addition, upgrading, in general, is restricted to a particular number of versions.

A particular code generator supports upgrading from the next lower annotation version under stable conditions. Conditions are considered stable when the upgrade occurs on code that was successfully updated using the code generator . If the current code does not fit the model, upgrading and synchronizing at the same time may fail. Follow these steps to assure stable conditions:

1 Update the code using the code generator version from which you want to update.

2 Do not change the code or the model.

3 Update the code using the target code generator version.

C++ Annotation Downgrade

A major annotation downgrade occurs when you update code that was written with a newer code generator supporting a newer annotation format. Refer to C++ Annotation Upgrade, earlier in this section, for reasons that the annotation format may change. As one might expect, older code generators may not be able to recognize the code regions with the newer annotation. It is particularly problematic to share code using code generators that 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. You may, however, have valid reasons to dismiss all these considerations. You can set the AllowGenerateOverNewerAnnotations Project property to True. The code generator will allow you to perform the downgrade, but will issue a warning.

The default setting for the AllowGenerateOverNewerAnnotations property is False, which makes the code generator issue an error and skip the module.


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 to replace 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.

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

Known Rose ClearCase Defects

Defect

Description

13277
The Rose ClearCase add-in has been enhanced to allow Rose users to work directly with CC 4.0 checkin and checkout dialogs. The Rose Guide to Team Development refers only to the capabilities provided by the simulated dialogs
13663
ClearCase operations performed outside of Rose on an open Rose model's units are not reflected in Rose's browser if this ClearCase operation does not affect the content of the file unit nor its read-only status. Workaround: Reload the unit when this happens. It is highly recommended to perform ClearCase operations from within the Rose ClearCase add-in to avoid this type of problem.
16639
Rose ClearCase add-in is case sensitive when looking for file names, so you must turn on Case Preserving for ClearCase MVFS on Windows: 1. Go to Control Panel. 2. Click ClearCase Applet. 3. Check the MVFS tab and ensure that Case Preserving is checked. 5. Restart the MVFS to apply the change..


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.

In support of the CORBA 2.3 Specification, Rose CORBA 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 you want to explicitly make a copy of an object. Two CORBA stereotypes make use of this enhancement:

These stereotypes are not yet documented in the online Help.

Rose CORBA uses the new internal editor.

Rose CORBA Defects Fixed in This Release

Defect

Description

3215, 4718, 15548
In the past, Rose CORBA could only generate dos-style path separators. This functionality was updated in Rainier to allow you to specify the type of path separator to use.
6478 11344, 11375
CORBA interfaces are no longer generated before the typedefs upon which they depend.

Known Rose CORBA Defects

The Rose CORBA online Help references the old Rose internal editor (R2Editor); however, Rose CORBA now uses the new internal Rose editor.


Rose Data Modeler Add-In

Rose Data Modeler Features and Enhancements

Rational Rose Data Modeler is a database modeling and design tool that usesUML (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 information describes the new features that are available for this release of Rose Data Modeler.

Databases

Data Modeler now supports Microsoft SQL Server 2000, including the following SQL Server 2000 features:

Data Model Elements and Specifications

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

Data Storage Modeling

Data Modeler now supports data storage modeling for DB2, Oracle, and SQL Server. You can:

You can also assign tables to a tablespace using the enhanced Table Specification.

Modeling Views

Data Modeler now supports modeling views in a data model. You can:

Compare and Synchronization Enhancement

This release of Data Modeler enhanced the Compare and Synchronization Wizard, adding support for stored procedures and views.

Performance Enhancement

Data Modeler enhanced performance speed for loading diagram elements, tables, and Specification dialog boxes.

Stored Procedure Enhancement

Data Modeler now supports Oracle packages.

Reverse Engineering Enhancement

Data Modeler now supports reverse engineering Unicode encoded DDL files for DB2 and SQL Server DBMSs.

Rose Data Modeler Defects Fixed in This Release

Defect

Description

12807
Does not support Oracle packages
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
15241
Data Modeler does not support stored procedures when the database type is 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 allows the user to set containment of a foreign key by reference and using unspecified mode (in addition to by value). However, Data Modeler does not support this for forward engineering.
16843
You must use a standard ANSI-code, text based file to save the DDL script. Data Modeler does not support files using Unicode.

Known Rose Data Modeler Defects

Defect

Description

15006
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, TRIG_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 . The tables and the relationship are not written to the database because the name of the trigger is identical, or it already exsists in the database.
15082
Compare and Synchronization. When a column is part of a unique constraint in the data model and is substituted by an Import action in the Synchronization, the unique constraint of this column is deleted. If you run the Synchronization Wizard a second time, the column's unique constraint will then appear as a difference in the comparison grid.
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 that represents the root schema). If you do, you will receive an exception error when you transform your object model to a data model.
25165
When opening a DB2 6.x model created in a previous version of Rose, the tablespace name does not appear automatically in the Table Specification. You must enter the name manually.
25822
When forward engineering views, base tables and columns must have quoted identifiers around any names that use spaces or special characters.
28319
When forward engineering tablespaces, you must forward engineer from the database and select the Tablespace option on the Forward Engineering Wizard.
28330
The Help button for the Oracle Tablespace Specification links to SQL Server Help topics. You must use the online Help index or table of contents to navigate to the Oracle Tablespace Specification Help topic.
28340
The Oracle Check Constraints action using the default name SYS_CXXX does not reverse engineer from the database.
25949
When using Oracle 7 tablespaces, you cannot roundtrip engineer a container's maximum size and extent size. These settings default to no value.
28816
When reverse engineering Oracle views that use alias view column names, the alias column names will not be reverse engineered; instead, the view columns are assigned default column names, (col_1, col_2, etc.). This will affect any comparison and synchronization performed on the data model, because Data Modeler will display the column names as a difference in the Results grid.


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 J Add-In

General Features and Enhancements

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

Rose J2EE Features and Enhancements

This release of Rose J provides the following J2EE-specific features and enhancements:

Rose J Design Pattern Support

When you apply a design pattern to your model, Rose J adds it in the form of new classes and components for each participant in the design pattern. Rose J places new Rose elements (classes, methods, packages, relations, etc.) in the Logical View and adds a component in the Component View for every added or updated class. The component name also appears in parentheses beside the class name in the Logical View.

When you forward engineer your model into Java code, Rose J populates the design pattern participant classes with methods that have complete code bodies, as well as methods with empty code bodies to be filled in by you.

Rose J includes support for the following design patterns covered in the book, Design Patterns, Elements of Reusable Object-Oriented Software (ISBN 0-201-63361-2), by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, often referred to as the "The Gang of Four."

Rose J and J2EE Defects Fixed in This Release

Defect

Description

3881 19639
Rose may hang if a Rose J or CORBA Operation and Attribute Specification dialog box is viewed while the browser is undocked. Rose is unable to gain focus, once the Specification dialog is closed.
12122
If you define a component hierarchy that is different from the logical hierarchy, Rose J will generate incorrect code. The package is specified according to the component hierarchy; the return type is according to the Logical View.
12160
Rose will not shut down if the Rose J add-in is not enabled.
12323
C-style comments placed above an instance variable declaration and in-line comments on a declaration line will be lost during forward engineering.
13318
Using the Java Specification dialog may cause a component to lose its stereotype.
14927
"Remote Exception" should automatically be placed in the Detail Exception.
15518
Generating the Setter method for the Bean property does not properly update the Setter method when there is a change in the Bean property type.
15794
Using an interface from a class with the same name, but created in a different package will cause incorrect code to be generated.
15853
JAR tool location and creation of *.jar and *.war file names must be entered using the browse "..." button.
16021, 16664
Context-sensitive Help is not available for object finders labels in the EJB Persistence Properties dialog.
16258
The Apply button is not enabled for Java Class, Operation, and Attribute Specifications.
16417
Reverse-engineered Java code that does not contain a visibility indicator (public, private, etc), will be represented as package visibility in Rose
16433
The Java AutoSync feature does not receive all events from Rose model. .
16482
Rose J code generation does not remove the link in an inner/nested class. Workaround: Do not nest the classes or do not enable AutoSync.
16485
Code generation incorrectly occurs when an inner class includes static members. Rose displays an error "... - an inner class cannot have any static members", but proceeds to generate code.
16492
A model is not automatically updated using Autosync when a new J2EE action is performed. Some code generation aspects may therefore be missing from the model.
16498
Rose J reverse-engineering error, "Parser Error: near token }" occurs with the following code: public interface test { public char opname(); /** * comment to see if will get an error while parsing */ } Workaround: Do not use "/**" as a comment, "/*" will work.
16524
Comments are not generated correctly for EJB/Servlets.
16526
When specifying an operation using the Method Specification dialog that is obtained by double-clicking on the method itself in the model browser window, the user can only enter exceptions in the Throws list box by explicitly specifying the exception class with its package. It is not possible to pick the exception in the popup browser dialog because this only displays packages, and not actual classes within them.
16764
J2EE - Servlet and doGet methods cause a duplicated signature for the doGet method. This occurs by creating a new Servlet, adding the methods init and doGet and adding a value for the buffer size. Workaround - Add a Servlet Content Type or create a normal class and configure it to be a servlet. (The Servlet content Type is added by default.)
16780
Java code generation does not code the relation to an inner class correctly.
16902
Servlet global import statements do not reverse engineer properly from .class files. Upon creating a Servlet with an operation (for example, doPost) global imports may be missing.
17275
A parser error occurs when attempting to reverse engineer a class which contains an anonymous inner class that extends a non-anonymous inner class, if the non-anonymous inner class belongs to another class.
17375
Dragging and dropping a .jar file into Rose in order to reverse engineer Java files will prevent the user from forward engineering unless the .jar file is removed from the path statement in the Java Project Specification directory.
17438
When using Update Remote Interface from J2EE for a Bean class, the corresponding method interface is created in the remote interface; however the documentation and exception properties are missing.
17684
After a method name in an abstract class is changed ,the former method remains in a sub class after code generation.
17811
Once a container class has been defined using the custom Rose J specifications, it cannot be removed.
17925
The Java add-in uses the <install dir>\Rose\java folder to store the temporary Code.xml file. If the user running Rose does not have administrator privileges, this will fail on Windows 2000.
18043
A modal dialog from the Java and CORBA Project Specification goes behind Rose and still holds focus.
18591
On reverse engineering Rose will incorrectly report a syntax error when an opening brace '{' is followed by an opening C style comment '/*'
21178
When using IBM VAJ, if the IDE crashes, Rose will be unable to auto-start the IDE. Workaround: Manually start the IDE.
21203
Rose does not generate default return statements for certain J2EE methods.

Known Rose J Defects

Defect

Description

10988
Get and Set operations are not visible in Sequence Diagrams.
12237
A code generation error occurs when you place a static attribute in the Java inner interface.
12950
To indicate whether an operation is abstract,Rose J uses a custom code generation property, rather than the model property used by standard Rose specifications. For this reason, when you specify an operation as Abstract in the standard specification, it is not reflected in the custom dialog box. The reverse is also true.
13935
Using tabs in the Rose J Style Specification causes errors when round-trip engineering. Workaround: Use spaces instead of tabs.
14628
Reverse engineering very large Java files can cause memory issues.
15420
Code generation for EJBs prompts for only one class at a time, rather than prompting for all classes at the same time.
15481
In Rose J Auto Sync mode, there is no warning dialog to indicate there are warnings in the log.
15487
Java code generation does not begin when a class is created with Auto Sync already enabled.
15554
When reverse engineering .cab files (including .java and .class files), the method body contents of the source files is missing.
15891
Reverse engineering .cab files may produce unpredictable results. When reverse engineering .cab files (including .java and .class files), the resulting Rose model may not be correct. The Rose log records errors, but does not alert the user.
16018
No context-sensitive Help for EJB and Servlet Class Properties treeview items.
16032
Using the Generate Fully Qualified Type option on Container Class type, causes incorrect code generation to occur. Workaround: Import the package in which the Container Class type is defined and do not use the Generate Fully Qualified Type for the Container Class.
16037
If a model package has a space in its name (for example "w p") and a class attribute references a type defined in that package, the generated code will include the space and will be incorrect.
16295
JavaDoc tags are not generated correctly.
16391
The Rose J online Help mentions obsolete Java frameworks. When you start Rose, check the Frameworks dialog to see the extant Java frameworks.
16517
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 specification is an abstract stereotype that is specialized by EJBCreateMethod and EJBFinderMethod where an update of the model is available. This stereotype is not related to the concept of Home Method introduced by version 2.0 of the EJB specification.
16593
EJB DocComment - Extra new lines are erroneously inserted and use inconsistent indentation in code. When creatinga class and converting it to EJB, if you enter multiline comments in the DocComment fields for the class, for the operation and attributes, and then you generate code, extra new lines are inserted between consecutive lines of comment in the model. The indentation is also inconsistent.
17256
You cannot create new a EJB Servlet from Statechart icon.
20257
Pattern Support for Singleton-- The Singleton interface should implement java.lang.RunTimeException when an exception is thrown.
21096
For J2EE, EJB classes and the diagrams that contain them must be in the same package in order for the EJB Update to work.
24389
The rjavarelay.exe will not exit unless you properly shut down the Rose VAJ Link Plugin Toggle. To ensure proper shutdown, do one of the following before exiting Visual Age:


Rose Oracle8 Add-In

Rose Oracle8 Features and Enhancements

Rational Rose Oracle8 allows 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 allows 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 Windows 95 or Windows 98


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. There are no new features for this release of Rose Model Integrator.

Known Rose Model Integrator Defects

Defect

Description

1236 11454
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 file names to create version-enhanced file names used by ClearCase. Workarounds:
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.


Rational Quality Architect

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 Quality Architect readme file, which is accessible from the Start > Programs menu.


Rose Webgain TOPLink Wizard

The Rose Webgain TOPLink Wizard assists you in the final step of data modeling---data access. This wizard helps you create detailed data access mapping of your tables to your Java classes, for a persistent runtime environment, through integration into Webgain's TOPLink product.

Known Rose WebgainTOPLink Integration Wizard Defects

Defect

Description

28350
Documentation is missing copyright information; namely, TOPLink is a product of Webgain. Also, the Rational Rose Webgain TOPLink Wizard only supports TOPLink version 2.5.


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

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

Known Rose Type Library Defects

Defect

Description

16734
If you bring up the Import Type Library dialog by clicking Tools > COM , and you switch to another application and then return to Rose, Rose appears to hang. In this situation the active Import Type Library dialog is actually behind the Rose application window. Workaround: Minimize the other application(s) windows and press ALT+TAB until the Import Type Library dialog becomes visible again.


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 open in Rational Rose.

2 In Microsoft Visual SourceSafe, check out all the controlled units that belong to the model.

    Note: This cannot be done through the Version Control add-in because the add-in does not know the model is under version control.

3 In Rational Rose, open the model.

4 For each set of units that are located in the same SourceSafe project:

a Click Tools > Version Control > Add to Version Control.

b Select the units.

c Click Browse and search for the project that corresponds to the working folder where the unit files are located.

d Clear the Keep Checked Out checkbox , if you want to check in the units again.

e 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 command for the source control add-in may not work correctly with Visual SourceSafe. 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 by clicking Tools > Version Control > Start Version Control Explorer and then selecting the appropriate files. Next, click Get Latest from the VSS Explorer to bring the latest version of the files into your working folder.
1539
When attempting to remove units 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. You will get a message that the parent is read-only.To uncontrol the unit, you must write-enable the parent and use the Units > Uncontrol menu command.


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 Rose Visual Basic Add-In tools are:

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

Note: There is online Help for WinDNA code templates, but it is not completely integrated with the rest of the Rose online Help. For information on where to find the WinDNAHelp, search for WinDNA Code Templates in the Rose online Help index.

There are no new features in this release of Rose Visual Basic.

Rose Visual Basic Defects Fixed in This Release

Defect

Description

11006
Rose VB code generation dialogs do not recognize the Euro symbol.

Known Rose Visual Basic Defects

Defect

Description

10932
On Windows 98, when you run VB scripts in the Model Update Tool in visible mode, a message will appear after you click Close 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.
16042
The WinDNA Code Templates are presented using DHMTL in the VB Model Assistant. Some problems have occurred when running these on Microsoft Internet Explorer (IE)version 4.0. The solution is to upgrade to IE version 5.x
23013
On the Visual Basic tab, accessible by clicking Tools > Options , the context-sensitive Help for the Visual Basic parameter properties ByVal, ByRef, Param, and Optional is missing. When you click F1 or Help, an error message appears. For Help on Visual Basic parameter properties, use the Help menu to open the Rose online Help and navigate to the Rose Visual Basic Help book. From the Visual Basic Help book, open the Reference Help book and click Model Properties.
Problem
The shortcut keys in the Visual Basic IDE are sometimes disabled when the Rose Tool window in Visual Basic is open. Workaround: 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 StudioModeler is installed on the same computer. Workaround: Before installing Rose Visual Basic, uninstall Microsoft Visual Studio Modeler.


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:

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 previous versions of Rose. When you use the 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 automatically be assigned to the <<MIDL>> components.

It is recommended that you use the Model UpdateTool on any 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 Rose Classic C++, you must convert the models using the Model Converter.

To do this, on the Tools menu, click Visual C++ > Model Converter.

Rose Visual C++ Defects Fixed in This Release

Defect

Description

12997
 If you delete an inheritance relationship in the model and use the Code Update Tool to generate code, the code for the inheritance will not be deleted. Workaround: Manually delete the code.
15310
On a diagram or in the browser window, you can select a class, right-click, and invoke the Code Update Tool. If you select a nested class and invoke the Code Update Tool, the tool will be displayed but no classes will be selected Workaround: Always select the outermost class. You cannot independently generate code for nested classes.

Known Rose Visual C++ Defects

Defect

Description

15940
 If you generate code for 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. Workaround: Manually add the return type in the code. The Model Update Tool can be used to update the model with the new return type. 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.
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. Workaround: Remove the old initializer.
15977
 The Synchronize tab on the Model Update Tool and Code Update Tool displays nested classes as separate check box items. If you select 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 selected.
21093
Code generation is only legal for component stereotypes that resolve to Module Specification (as opposed to Module Body).
26437
If you do not set the component ProjectFolders property, VC will use the project folders that are set up to be the default .cpp, .h, .idl, and .odl folders in the project


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 visualize and model 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 allow you to model the artifacts required to build a Web application. Stereotypes and tagged values represent an extension of UML.

This release of Rose Web Modeler provides new ASP and JSP support.

Setting Default Notation

We recommend setting the default notation to Web Modeler before attempting to model Web applications. This allows all directed modeling options to be present on the context menus. To set the default notation:

1 Click Tools > Options.

2 On the Notation tab, set Default Language to Web Modeler.

Known Rose Web Modeler Defects

Type

Description

27391
Moving a virtual directory under another virtual directory is allowed by Rose, but can cause unpredictable round-trip engineering results. We do not recommend you do this. As specified in the help, a virtual directory may be nested under normal packages, but should not contain other nested virtual directories.
30462
Currently Web Modeler can resolve references between multiple virtual directories following the guidelines specified in the help. However, Web Modeler currently does not resolve references to fully qualified URLs, such as http://www.mycompany.com/mywebapp/mypage.html.
Turning off code generation
For every model element for which you can generate code, there is an option to turn off code generation. If you wish to model something, but do not want to generate code for it, disable code generation for the element. To access this option, open the element's Specification, and click the RTE Options tab.
Relationships to Java Beans and COM Classes
When an association is drawn from a JSP page to a Java class or from an ASP page to a COM class, you get custom dialog boxes with options that affect code generation. Currently, these options are not available for editing once the initial dialogs have been completed. Should you wish to make changes to these options, you must temporarily delete and re-add the association.


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.

There are no new features in this release of Rose Web Publisher.

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

Note: DTDElementANY cannot be nested. Use this DTDElement at the root level.

Known XML DTD Defects

Defect

Description

11524
When an XML DTD is reverse engineered and then forward engineered, the order of the data may be changed.


Rational Software Corporation  http://www.rational.com
support@rational.com
docs@us.ibm.com
Copyright © 1993-2001, Rational Software Corporation. All rights reserved.