Chapter 10

Additional Add-Ins

This chapter contains information on the following add-ins:


Rose Model Integrator Add-In

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 Model Integrator Add-In Problems and Limitations

The following table contains known Model Integrator problems and limitations in Rose for UNIX/Linux.

Table 9 Known Model Integrator Add-In Limitations
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. The workarounds are:
1. Merge subunit files individually using ClearCase.
2. 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 file names 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.

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 elements automatically. Visit these elements in the Rose browser window and correct the names of the elements.

18159

In the Contributors dialog, the checkbox for the option "Compare/Merge against Base Model" should be grayed out until two contributors have been added.

25249

Select All does not select the main node in the tree view.

31427

"+" and "-" icons not working correctly in the browser.


ClearCase Add-In


Note:
Prior to using the Rose for UNIX/Linux ClearCase Add-In, it is necessary to review and follow the steps outlined in the Add-Ins for Version Control help. To view the help, select the Rose Help > Contents and Index menu item, and then open the Add-Ins for Version Control help book.

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 previous Rose/ClearCase integration. This has and will continue to allow Rational to provide more ClearCase specific customization to this add-in.

Known ClearCase Add-In Problems and Limitations

The following table contains known ClearCase problems and limitations in Rose for UNIX/Linux.

Table 10 Known ClearCase Add-In Limitations
Defect
Description
10530 

If you select a unit whose parent is read only and try to run the uncheckout command on it, the ClearCase add-in warns that the parent unit is read only and does not uncheckout the unit.
Workaround: Make the parent writable by checking it out.

15035

When using Rose/ClearCase Integration in Rose for UNIX/Linux, ClearCase output will appear in the terminal used to run Rose in addition to the ClearCase dialogs.

18738

After creating a branch and placing focus on Rose, there is no longer a
dialog stating that the "...model has been externally modified...do you
want to reload". The current correct behavior is to reload the model
immediately.

Fixed ClearCase Defects

The following table lists ClearCase Add-In defects fixed since the last release.

Table 11 Fixed ClearCase Add-In Defects
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.

You should not select both a parent and child unit when using the undo checkout command as this will cause unexpected behavior when reloading the units. If this operation is performed inadvertently, you should reload the model and sub units afterward. It is recommended that you not use multi-selection with the undo checkout command.

1244 

At present, the ClearCase Add-In does not fully support snapshot views. If you are using snapshot views, you may experience problems with the browser icons not being updated to reflect the current CM state.

You can correct this problem by unloading and reloading the ClearCase Add-In from the Add-In Manager. In addition, you should not use the Get Latest menu item to update your snapshot view. Instead, you should update the snapshot view using one of the external ClearCase mechanisms (such as the ClearCase menu items in the Windows Explorer). These problems should be resolved in a future release.

IMPORTANT NOTE FOR USING ROSE WITH CLEARCASE.
In order to effectively control and use Rose models/units with ClearCase, you must set a Path Map symbol to the ClearCase view in which you are working. Otherwise, the full path to the units will be saved in the model making them unusable from any other ClearCase view.
For example, if you are controlling Rose units in the view X:\MyView, you should set a Path Map variable, such as "CCVIEW", to the value "X:\MyView" using the File >Edit Path Map... dialog. This will ensure that when the model and sub units are saved, references to the views path will be replaced with $CCVIEW. If you wish to work with the model from another view, such as "Y:\MyOtherView", just bring up the File >Edit Path Map... dialog again and change the CCVIEW variable to the new view and reload the model.

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.

10530

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

12982

Activation of ClearCase Add-In may cause delay when refreshing (redrawing) the browser.
If this occurs, contact Rational Technical Support.

12983

ClearCase operations such as checkin and checkout may force reloading of units which have not changed.
If this occurs, contact Rational Technical Support.

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.

17559

Overlay not added to package correctly in browser when performing a ClearCase check-in.


DDL Add-In

The Data Definition Language (DDL) Add-In release note contains known problems and limitations as well as fixed defects since the last release.

The gap between object technology and relational databases is closed by providing a mapping interface to relational databases through generation of persistent classes to Structured Query Language (SQL) and Data Definition Language (DDL).

You can find DDL Add-In release note information in the following locations:

Known DDL Add-In Problems and Limitations

There are no known problems and limitations for the DDL Add-In.


CORBA Add-In

Rational Rose CORBA Add-In allows you to forward engineer Rose model elements into CORBA-compliant IDL code and it allows you to reverse engineer CORBA IDL code into appropriate Rose model elements.

New CORBA Add-In Features and Enhancements

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.

Rose CORBA continues to use the R2Editor, which provides a user-friendly environment for code generation and updating.

Known CORBA Add-In Problems and Limitations

The following table contains known CORBA Add-In problems and limitations:

Table 12 Known CORBA Add-In Limitations
Defect
Description
1770

You can create a nested class in CORBA typedef.
You are not supposed to use nested classes in a typedef. This is described in the online documentation for CORBA.

1771

Reverse Engineering reports parse error on comment before };
CORBA reverse engineering reports an error when a comment is added to the last attribute of a struct.

1773

Some Include statements are generated incorrectly.

3881

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.

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.

10922

Unable to change font color in CORBA source editor.

11721

Unable to create directory over NFS in Java or CORBA Project Specification.
Unable to create directory on an NFS mounted disk when defining source directory using Java or CORBA project specification.

16853

Browse source <ctrl+H> or <ctrl+K> shortcut key on CORBA classes fails. It will be necessary to use the CORBA > Browse Code menu option.

Fixed CORBA Add-In Defects

The following table shows the CORBA Add-In defects that have been fixed since the last release.

Table 13 Fixed CORBA Add-In Defects
Defect
Description
1778

Parser error while trying to reverse engineer CORBA when there is a comment after brace following enum.

3217

Reverse engineering #include with ".." causes incorrect component to be generated.


Framework Add-In

The Framework Add-In provides a library of frameworks that can be used as templates when creating new models. There are no new features or enhancements for this version of the Framework Add-In.


Apex Add-In (Not available for Linux)

The Apex Add-In of Rose for UNIX/Linux provides direct access to the Compile and Control commands in Apex. It also works with language add-ins for Rose, including Rose C++, Ada 95, and Ada 83 Add-Ins, to create Apex subsystems and views during the code generation from the model to the source files of the specified language.

The following information is also located in your Apex Add-In online documentation.

Apex Compile and Control Commands

The Compile and Control commands of Apex are directly accessible from Rose through the Tools > Apex menu. The Compile commands compile and link the source files, generated into Apex views via Apex Add-In, that correspond to the selected items in the diagram. The Control commands perform Apex source code control operations on the source files generated in the same way.

To use these commands, select Tools > Apex, and then select Compile or Control to get to the list of commands, respectively.

For the descriptions on these Apex commands, please consult the online help in the Apex windows.

Code Generation With Apex Add-In

In general, the code generation operation for a regular language Add-In is based on a directory structure where top-level packages, nested packages, and classes (or modules) are mapped, respectively, into directories, subdirectories, and source files in a hierarchical way. The operation can create such directories or subdirectories if they do not already exist, and then generate source files into these (sub)directories. This works with the regular source code control system and build management.

Apex has a different style of source code control and build management. An Apex project has a set of subsystems which contain the source files and subdirectories of source files for development. Each developer has his own views, one for each subsystem, which collectively reflect the source base the developer uses for the project. For this reason, Apex-style code generation is different from the regular style. From a Rose model, the top level packages will be mapped into subsystems and the associated views for the developers; the packages nested inside another package will be mapped into the subdirectories inside an Apex view, or a subdirectory already enclosed by a view; the classes (or modules) will be mapped into the source files inside the views or the subdirectories.

The Apex Add-In provides a mechanism for the user to select which of the two code generation styles to use. When the property CreateApexSubsystemAndView of the Apex tool set is set to "Yes", the code generation command for a language add-in will automatically create Apex subsystems and views for the top-level packages selected in the model, followed by the generation of subdirectories and source files into the views. If the property is not set to "Yes", the code generation command does the regular style of code generation.

The language add-ins that work with Apex Add-In include C++, Ada 95, and Ada 83.

Properties for Apex Add-In

Refer to the online documentation for a list of the properties used by the Apex Add-In for Apex-style code generation. Some are properties for the project, and the others for the subsystems in the model. The code generation command will use the combination of these properties when it needs to generate code into Apex subsystems and views.

All the properties except CreateApexSubsystemAndView will take effect only when the CreateApexSubsystemAndView property is set to "Yes" and when the selected item is a top-level package. When any of these properties are specified differently from their default value, the Directory property for the top-level package should remain as the default value.

Utilizing Apex Add-In on HP-UX and SGI IRIX

In order for Apex to generate subsystems correctly, it is necessary for "tmp-mnt" to be placed in the automount field of the Virtual Pathmap dialog box. The "/tmp-mnt" entry should be removed from the Virtual Pathmap dialog box when not using Apex.

Utilizing Apex Add-In on AIX

When using the Apex Add-In to create Apex subsystems and views on AIX, Rose for UNIX/Linux might run into a hanging state. If that happens, look for an Apex "Job Queue" window. In that window, select all the entries and click File > Run Job. This will resolve the "hanging" state and resume code generation.

Known Apex Add-In Problems and Limitations

The following table shows known defects in the Apex Add-In.

Table 14 Known Apex Add-In Limitations
Defect
Description
3853

CM commands do not show on the context menu for packages in the browser. When this occurs, you are unable to use Apex CM integration on a package that does not appear in the diagram.

Workaround: Add the package to the diagram.

Fixed Apex Add-In Defects

The following table shows the Apex Add-In defects that have been fixed since the last release.

Table 15 Fixed Apex Add-In Defects
Defect
Description
2967

Error: "..failed to exec the child process reverse_engineer; No such file or directory .."
The above error may occur when attempting to reverse engineer Rose/Ada code from Apex, running: Rose > Ada_Reverse Engineer

Workaround: For Rose, the Ada reverse-engineering code is done on the Apex side. (It is necessary to use Apex version 3.0.0b or greater.)


      

Rational Support

techpubs@rational.com
Copyright © 2001, Rational Software Corporation. All rights reserved.