IBM Support

Known Problems and Limitations in IBM Rational Rhapsody 7.5.1

Preventive Service Planning


Abstract

What are the known problems and limitations in IBM Rational Rhapsody 7.5.1?

Content

The known problems / limitations are listed below separately for each of the following categories:

General Limitations

64-bit Framework Support

If you want to build applications for 64-bit targets, you must first rebuild the Rhapsody framework libraries. If you are running Rhapsody on a 64-bit host system, then if you rebuild the libraries using the menu option Code > Build Framework, the Rhapsody libraries will be rebuilt such that you will be able to build applications for 64-bit targets. However, if you are running Rhapsody on a 32-bit host system, you will have to rebuild the Rhapsody libraries manually.

The Webify feature will not work with 64-bit applications, out-of-the-box. If you plan to use Webify with 64-bit applications, contact Support in order to receive a version of the WebServices library compiled for 64-bit platforms.

Rhapsody's 64-bit support is limited to 64-bit Linux and 64-bit Windows.

Note that Rhapsody can be run on 64-bit systems, but it is still a 32-bit application.

Activity Diagrams

You can have multiple activity diagrams or multiple statecharts for a class, but you cannot have both an activity diagram and a statechart for a single class.

As of Rhapsody 7.1.1, activity diagram inheritance is no longer supported.

When opening activity diagrams created with versions of Rhapsody prior to 7.5, Rhapsody will replace certain elements with the new corresponding elements introduced in 7.5, with the following exceptions:
Junction Connectors are not converted to Merge Nodes.
Transitions are not converted to ObjectFlows or ControlFlows.

Adaptors

Rhapsody supports VxWorks 6.6. If you are using VxWorks 6.5, you should make the following property changes for the appropriate VxWorks6 environment:
- InvokeMake - change 6.6 to 6.5 in property value
- BuildFrameworkCommand - change 6.6 to 6.5 in property value
- IDEInterfaceDLL - value should be changed to $OMROOT/DLLs/Workbench26DebuggerIDE.dll
- GetConnectedRuntimeLibraries - value of the property should be changed to $(OMROOT)/LangCpp/lib/vxWebComponents$(CPU)$(TOOL)$(LIB_EXT), $(OMROOT)/lib/vx65WebServices$(CPU)$(TOOL)$(LIB_EXT)

If you plan to work with VxWorks Workbench, you must manually install the relevant plugin (found under [Rhapsody installation directory]\Eclipse\plugins). In previous versions of Rhapsody, this was done automatically during the Rhapsody installation.

To avoid possible compilation errors when using the GNAT 3.15, Integrity4, Multi3.5, Nucleus, or OseSfk adaptors, install Rhapsody in a directory that does not contain spaces.

Note that the Rhapsody installation automatically adds a directory called "Rhapsody 7.4", i.e., a directory containing a space, under the installation directory you have selected. To prevent the installation from adding this directory, install Rhapsody to a directory whose name begins with the string "Rhapsody", for example, C:\aa\bb\cc\Rhapsody7.4 (not case-sensitive).

Users that work with Solaris 2.9 GNU must rebuild the framework libraries.

If your model uses the QNXNeutrinoMomentics environment, and you are running Rhapsody on Windows Vista, you should install the patch "patch-630SP3-0522-vista.zip".

Animation

When using animation in Rhapsody in C, you cannot invoke an operation that contains an "out" argument.

AutomotiveC Profile

In OSEK21 configurations, an Active class can only have a single instance.

AUTOSAR

Due to tool limitation, it is recommended that you work in a bottom-up fashion. For example, a ComponenPrototype should be defined only after the AtomicSoftwareComponentType on which it is based has been defined. The type of the prototype must be specified immediately after defining the prototype.

Import/Export from/to AUTOSAR XML format does not work on Windows Vista.

After generating code with Rhapsody's customizable CG feature (C_CG::Configuration::CodeGeneratorTool = Customizable), you can't import AUTOSAR XML until you close and reopen Rhapsody.

When using the Rhapsody Eclipse Platform Integration, you cannot generate AUTOSAR XML.

Each software component must be defined in a different top-level package in your model.

When switching between AUTOSAR models that are based on different AUTOSAR versions (AUTOSAR_21, AUTOSAR_31), you must restart Rational Rhapsody.

Build Window

Errors and warnings may be displayed as info messages.

The ability to jump from an error message to the relevant code location has only been tested with English-language versions of compilers. If you encounter problems with this feature when using compilers that display errors in languages other than English, try modifying the values of the properties ParseErrorMessage, ParseSeverityError, and ParseSeverityWarning.

Build with Dependencies

When you use the Build ...with Dependencies option, Rhapsody does not allow you to perform any action until the build is completed.

C Ports and Interfaces

Ports with multiplicity greater than 1 are not yet supported.

Callback API

Callback events will not appear in the list of "helper triggers" in the Rhapsody Helpers dialog (Tools > Customize, from main menu).

CM - Batch Mode

Batch mode CM may not work correctly if there are spaces in the model path.

Code Generation (Integrity)

In Rhapsody in C, for the Integrity and Integrity5 environments, the file Integrity5.ld is not copied from ..\Share\MakeTmpl to the output folder automatically. This file should be copied manually.

Code Respect

When code is generated after roundtripping, there may be some differences compared to the original code.

Auto-generated #includes, such as <oxf/oxf.h>, cannot be removed.

Addition/ordering of friend dependencies is not supported.

Roundtripping ignores changes to language types in classes (deletion, modification, reordering). The relevant code is always generated at the beginning of the class.

If #ifdef conditionals have been brought into the model via reverse engineering:
- Roundtripping cannot handle changes within the #ifdef blocks.
- Roundtripping cannot handle changes made to the #define directives that define the conditions for the #ifdef blocks.
In such cases, if you have to make changes to the #ifdef-related code, you must make the changes in the model and then regenerate the code.

Code-centric Settings

When using the Code-centric Settings with Eclipse platform integration, if you want to reverse engineer a project, you must use the “Import Sources to Rhapsody” option rather than the “Export to Rhapsody” option.

When using the Code-centric Settings in RiC, models must be file-based and not class-based.

Configuration Management

After "updating" from CVS repository, units are reported as unresolved even though they are in the correct location in the file system. To correct this problem, select the unresolved unit in the Rational Rhapsody browser and select "Load with descendants" from the pop-up menu.

In general, the CM status display is refreshed only when the user initiates a refresh. So, for example, the CM status display is not refreshed when the user sets a different project to be the active project.

Cygwin Adaptor

If you are using Cygwin and encounter problems compiling Rhapsody models, try rebuilding the framework libraries for Cygwin. This can now be done by selecting "Build Framework" from the Code menu.

Eclipse - Refactoring

The following limitations apply to Rhapsody's ability to roundtrip changes made to code using the refactoring options offered by Eclipse:
- If you rename a class (or class member) in Eclipse and use the option of updating references to the class (or member) inside comments, changes will also be made to the Rhapsody-generated annotations, and this will lead to roundtripping problems.
- If you use Eclipse's option to make indentation and formatting changes, only the formatting changes made inside operation bodies will be picked up by Rhapsody.
- Roundtripping does not support the creation of new packages. So if you add a new directory to a project and add classes to the directory, these classes will not be roundtripped into the model.
- In Java code, Rhapsody will not pick up changes made to the order of members within a class.
- In Java code, Rhapsody will not pick up changes made to the order of import statements.

Eclipse CDT Debugger Integration

It is known that the Eclipse debugger may appear to be sluggish.

If you disable the Eclipse debugger's default launch setting option "Stop on startup at main", it will break the animation synchronization between Rhapsody and Eclipse debugger (due to Eclipse bug).

Eclipse Platform Integration

Rhapsody does not support Eclipse's Window > New Window and Window > New Editor options.

In order to prevent compilation errors stemming from a bug in Cygwin's make.exe (version 3.81), Rhapsody includes a property called CG::Cygwin::ConvertToCygwinPathInIDE which is set to True by default. This converts standard Windows paths to paths that Cygwin can handle. The downside of this workaround is that certain navigation features in the Eclipse GUI, such as jumping to included files, will not work properly. If you wish to use these navigation features and are not concerned about compilation errors, you can set the value of the property ConvertToCygwinPathInIDE to False.

When you use the File > Switch Workspace option in Eclipse, you may receive an error message with regard to your Rhapsody license. To prevent this problem, it is recommended that you switch workspaces by manually closing and reopening Eclipse and then selecting the new workspace.

When you use the File > Switch Workspace option in Eclipse, you may receive a message indicating that the animation port is still open. To prevent this problem, it is recommended that you switch workspaces by manually closing and reopening Eclipse and then selecting the new workspace.

Eclipse Project Import

Only managed C/C++ projects are imported into Rhapsody.

If user wants to use animation or trace instrumentation with imported models, they must update- the Rhapsody-generated main function manually.

Build process will still be Eclipse's responsibility: Not all Eclipse project build settings are imported into the Rhapsody Eclipse configuration. In order to perform the build with the original build settings, the "Build in IDE" option (in Rhapsody Eclipse configuration) is selected by default.

Events as Types

If you use an event as the type for a global variable, compilation errors will result.

Flowcharts with Code Generation

In previous versions of Rhapsody, you could add a flowchart anywhere you could add an activity diagram. Now, you can only add a flowchart at the operation level.

Graphics - General

If you are using Windows XP SP2, installing the following update from Microsoft can help prevent system resource leaks when performing graphic-intensive operations in Rhapsody, such as generating reports for large models - Update for Windows XP (KB319740):

http://www.microsoft.com/downloads/details.aspx?FamilyId=9B5EDFC8-A4BB-…

Helper Menu Customization

This feature is not available in Eclipse platform integration.

Installation - Rhapsody in Ada

If you have selected the GNAT VxWorks compiler during installation, Rhapsody will display an error message that it cannot find GNATVx.

Installation on Citrix Server

The single-file .msi installation may fail when installing on Citrix servers. Microsoft has provided a hotfix to solve this problem for Windows Server 2003, and also provides a workaround for this problem. All of the details can be found at http://support.microsoft.com/kb/925336
Alternatively, you can install Rhapsody from the DVD, which contains a multiple-file msi-based installation.

Installation on Vista

To ensure proper registration of Rhapsody's COM interface, Rhapsody must be installed under the Administrator account. A simple way to do this is to right-click the Command Prompt item in the Start menu, and select "Run as administrator" from the context menu. Then, just change to the directory containing the .msi file and run it.

On Vista, the license path is stored in the registry under HKEY_CURRENT_USER\FlexLm (and not under HKEY_LOCAL_MACHINE as on Windows XP).

Japanese User Interface

The Japanese interface is not available when using Rational Rhapsody's Eclipse platform integration.

MicroC Profile

"Executable" classes cannot be used as Parts with multiplicity greater than 1.

Rhapsody's S-Function feature cannot be used with the MicroC profile.

When using the MicroC profile, you can't send events across address spaces.

Code cannot be generated for a single class, file, package, or configuration. To generate correct code, you must select Code > Regenerate > [active configuration].

The "respect" mode of roundtripping/code generation cannot be used with the MicroC profile. By default, "Advanced" mode is used.

DMCA (Dynamic Model-Code Associativity) cannot be used with this profile.

The port multicast feature cannot be used with the MicroC profile.

Panel Diagrams

If you use panel diagrams with the FunctionalC profile, the various controls can only be used to monitor data. You cannot use them to input data.

ReporterPLUS

ReporterPLUS is supported on Microsoft® Office 2000 and 2002. It cannot be used with Word 97 or 98.

Rhapsody API

There are currently no methods for adding an ObjectFlow or a ControlFlow to an activity diagram.

Rhapsody Gateway™

In certain situations, if you try to delete or replace a DOORS project in Gateway's Edit Project dialog, a message will be displayed indicating that the file is locked by another user. If you encounter this message, close and reopen Gateway and then open the Edit Project dialog again.

If your project is based on the one of the AUTOSAR profiles, you will not see Gateway appear as an option in the context menu for the project. To overcome this problem, open the rhapsody.ini file and locate the settings for Gateway in the [Helpers] section. Modify the applicableTo setting so that it includes the following: AUTOSAR_20, AUTOSAR_21.

Rhapsody in Ada

The new Ada95 framework (NewFWK95) cannot be used to generate code for the following environments: INTEGRITY5 and OBJECTADA. To change the framework used, change the value of the property Component::Ada_CG::UseAdaFramework to either FWK95 or FWK83.

The Build tab of the output window does not work with Ada compilers. In RiA, all messages will be presented via the Log tab.

Rhapsody in Java

Roundtripping/Reverse Engineering are not supported for static import of individual class members.

There is no support for Java annotations in roundtripping.

Java code generated by Rhapsody will not include annotations that have been applied to the following types of elements: constructors, destructors, association ends.

If you use the Edit > Format option in Eclipse, then roundtripping of changes to Java code may not work correctly. This is due to spaces being added to the annotations used by Rhapsody. To prevent such problems, define a formatting profile where the "Tab policy" is set to "spaces only", and the "Enable comment formatting" option is not selected.

SA Import

The UI does not provide any way to select an import map. As a workaround, the xml file can be edited manually.

Save as 7.4 Model

When saving a model as a 7.4 model, not all activity diagrams elements are saved correctly. When opening the model in 7.4, Rhapsody may display a message about unresolved stereotypes.

After you save a model as a 7.4 model, any CGCompatibilityPre75 profiles should be manually removed from the model when you open it in Rhapsody 7.4.

SDL Integration

This feature is not available in Rhapsody in C.

The code generation scope can contain only one SDLBlock.

SDL Signal arguments will not contain "call by reference" arguments (char*, etc.)

This feature is not supported when using Rational Rhapsody with Eclipse.

Sequence Diagrams

In animated sequence diagrams in Rhapsody in C, return values are not displayed for triggered operations.

Simulink Integration

On VxWorks, there is not support for Simulink integration if the Simulink-generated files are located in a path that contains spaces.

Only primitive Simulink types can be used as the input to / output from S-functions created in Rhapsody.

Statemate Integration

A Statemate model can only be represented once in a Rhapsody model, i.e., there can only be one Statemate block representing the model. You can, however, have a number of Statemate blocks representing a number of different Statemate models.

Static Inheritance

In RiC, when using static inheritance with name mangling, the code generated for the derived class may not compile. Suggested workarounds: Manually define a dependency from the derived class to the base class or manually override the problematic operations.

When using static inheritance in RiC++, if you roundtrip changes made to the derived class, the static inheritance relation disappears.

When using static inheritance with a base class that has ports, there are situations where Rhapsody mistakenly identifies a port as a multicast port, and the generated code will not compile. If you do not use multicast ports in your model, you can work around this limitation by disabling multicast support (set the value of the property SupportMulticast to Never).

Synergy Integration

After creating a task from within Rhapsody, the task list is not automatically refreshed. To have the task list updated, click the Refresh button.

System Designer

In Rhapsody System Designer, Cygwin and Microsoft are the only targets supported.

Tabular Statechart

When editing tabular statecharts, you cannot add new triggered operations or new states.

Variants

Currently, variation points should only be defined on classes and files (not on objects).

Visual Studio 2008 Support

For the OseSfk environment, Rhapsody does not support use of the Visual Studio 2008 compiler.

Webify in RiJ

When using the Webify feature in Rhapsody in Java, you cannot customize the web interface.

Limitations for Rhapsody Eclipse Platform Integration Plug-In

The features listed below are not available when using the Rhapsody Eclipse Platform Integration Plug-In. In addition, some other Rhapsody features may not be available when using this plugin.

Domain-specific Profiles

Certain domain-specific profiles cannot be used with the Rhapsody Eclipse platform integration.

Linux-specific Limitations

The following limitations apply only to the Linux version of Rhapsody

Back and Forward Navigation Buttons

This feature does not work in the Linux version.

Code Generation

Modifying the <lang>_CG::<environment>::PathDelimiter property to backslash is not supported on Linux systems because the operating system does not recognize paths that contain backslashes instead of forward slashes.

Configuration Management / SCC

This feature is not included in the Linux version.

CORBA Development

This feature is not included in the Linux version.

Customizable Code Generation

This feature is not included in the Linux version.

Customizable Static Checks

This feature is not included in the Linux version.

DOORS Interface

The following features are not available in the Linux version of Rhapsody:
- Export diagram graphics from Rhapsody to DOORS
- Navigate from DOORS to Rhapsody

Fixed-point variables

This feature is not included in the Linux version.

Generate Support Request

This feature is not included in the Linux version.

Graphic Editor

On Linux systems, the Alt key does not work for the “Move/Stretch without contained” command. The possible workarounds are as follows:
- Use Edit > Move/Stretch without contained.
- Left-click the element you want to move or scale, but do not move the mouse. Press the Alt key, then move the mouse.

Helper Applications

This feature is not included in the Linux version.

Import from Rose

This feature is not included in the Linux version.

Internal Reporting Tool (Report on model)

If you use Report on Model with the property General::Graphics::ExportedDiagramScale set to "UsePrintLayout", then you must set the property General::Graphics::RotateDiagramOnExport to "No".

Japanese User Interface

The Japanese interface is not included in the Linux version.

Miscellaneous

If you work with the Exceed X-server (which is not officially supported by Rhapsody), a small, floating toolbar appears when invoking Rhapsody. You must close this toolbar (using the x button) to be able to work with the Rhapsody menus.
It is not possible to invoke console applications without a GUI, such as vi, from Rhapsody helpers, or to use them as external editors. A workaround is to call xterm -e in the beginning of the command.

Populate Diagram

The Preferred Layout Style options are disabled in the Populate Diagram dialog box. Rhapsody automatically uses the default style.

Print Diagrams

The header and footer text, as well as graphics, may be clipped if they are placed on the top and bottom page break lines. To overcome the problem with the graphics:
- Set your diagram to “view page breaks” and try to avoid placing shapes and lines on the page boundaries.
- Print using FitToOnePage and avoid placing graphics at the very top of the page.

ReporterPLUS

On Linux, ReporterPLUS cannot generate Powerpoint and Word reports.
On Linux, ReporterPLUS does not include a table of contents in RTF reports that are generated.
If you get an error when generating a report from ReporterPLUS while Rhapsody is not running, it is recommended that you run and exit Rhapsody, and try generating the report again.
On Red Hat 5.0, reports generated with ReporterPLUS may not always be opened automatically after they have been generated. In such cases, you will have to open the report manually.

Rhapsody Eclipse Platform Integration

This feature is not included in the Linux version.

Rhapsody Gateway™

On Linux, the diagram preview feature is not available. When you select a diagram, the preview window will not be opened.

Rhapsody in Ada

This feature is not included in the Linux version.

Rhapsody TestConductor

Installation of TestConductor on Linux requires uudecode.

Rational Publishing Engine (RPE)

This feature is not included in the Linux version.

RTOSes

Only the following operating systems are supported in the Linux version:
MontaVista 5.0
Linux Red Hat® (Enterprise Linux®) 4.0
Linux Red Hat® (Enterprise Linux®) 5.0
Integrity 5.0.7 MultiNativeLinux X86 4.2.3

Rules Composer and Player

This feature is not included in the Linux version.

Running Applications Instrumented for Tracing

When you run an application instrumented for tracing, you must press Enter twice after each command. However, if you run the same application from the command prompt, you can simply press Enter once.

Simulink Integration

This feature is not included in the Linux version.

Split Diagrams During Export

This feature is not included in the Linux version.

Statemate Integration

This feature is not included in the Linux version.

Systems Designer and Systems Architect

These editions are not available for Linux.

TLB Importer

This feature is not included in the Linux version.

VBA

This feature is not included in the Linux version.

Welcome Screen

On certain versions of Linux, the home page may contain only the New Project and Open Project links.

XMI Import/Export

Export to 1.3 format does not work on Linux.

[{"Product":{"code":"SSB2MU","label":"IBM Engineering Systems Design Rhapsody"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"General Information","Platform":[{"code":"PF016","label":"Linux"},{"code":"PF033","label":"Windows"}],"Version":"7.5.1","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Product Synonym

Rational Rhapsody

Document Information

Modified date:
27 May 2022

UID

swg21406729