Defects Fixed in Rhapsody 7.4.0.1 (March 2009)

Animation

110324

Animation: Animation does not run when using the Cygwin environment with AnimPortRange set to a number greater than 0 in the rhapsody.ini file.

This problem has been corrected.

219850

Animation: If types contained in an external header file are used for class attributes or with events, Rhapsody fails to generate animation code for the types even if the user specifies animation serialization routines.

This problem has been corrected.

219852

Animation: If you modify the value of the property TriggerArgument, the instrumentation code generated by Rhapsody does not compile.

To prevent this problem, a new property, CG::Type::AnimUseMultipleSerializationFunctions, has been added. If you set the value of this property to True, you can provide TriggerArgument versions of serialization/unserialization functions as well. Where these functions have to be called, Rhapsody will automatically add "TriggerArgument" to the end of the values of the properties AnimSerializeOperation and AnimUnserializeOperation in order to call the correct function.

219856

Animation: When you use a Type as an Out or InOut parameter of an operation, the serialization code is not correct.

To prevent this problem, a new property, CG::Type::AnimUseMultipleSerializationFunctions, has been added. If you set the value of this property to True, you can provide Out and InOut versions of serialization functions as well. Where these functions have to be called, Rhapsody will automatically add "Out" or "InOut" to the end of the value of the property AnimSerializeOperation in order to call the correct function. The same mechanism will be used for unserialization functions (taking the value of the property AnimUnserializeOperation) but this is only supported for InOut parameters.

API

110211

Rhapsody API: After user cloned an activity diagram using a script, Rhapsody closed unexpectedly when the user tried right-clicking the diagram.

This problem has been corrected.

Code Generation/RE

109664

RiA: If an interface used as a Provided interface for a port contains a limited type, the generated code will not compile.

This problem has been corrected.

110167

Code Generation (C++): Incorrect code generated for static arrays of self-defined types.

This problem has been corrected.

110209

Code Generation (C++): After user manually specifies an order for attributes, the generated code respects this order but only within visibility groups.

This problem has been corrected. Now, the order of attributes in the generated code will be as specified by the user, regardless of visibility.

110222

Code Generation (C): Invalid code generated for Interface when code generated for read-only project.

This problem has been corrected.

110272

Code Generation (C): The code responsible for the creation of composite classes is generated incorrectly when the classes have constructors with parameters.

This problem has been corrected.

110351

RiA: Events are not processed in latest Ada95 framework.

This problem has been corrected.

110432

RiA: If you use user-defined types or constants in ports and interfaces, the _port file will fail to compile due to visibility issues.

This problem has been corrected.

215761

RiA: Request that Rhapsody provide Ada code generation for behavioral ports.

This feature has been added.

215886

Code Generation (Ada): Request that it be possible to have multiple contracts for a single port.

This is now possible.

215898

RiA: Incorrect code generated for ports on a class with the "Ada Task" stereotype.

This problem has been corrected.

216926

Code Generation (C): Request that Rhapsody provide a mechanism for automatically adding the file name as a prefix to the names of functions contained in a file.

A new boolean property, C_CG::Operation::UseProtectedNameAndPublicNameInFile, has been added for this purpose. When set to True, the values of the properties C_CG::Operation::ProtectedName and C_CG::Operation::PublicName will be used to determine the names of functions in generated code. These properties can then be used to prepend the file name to the function name.

217937

Code Generation (C): When project is read-only, code for event reception is not generated correctly, resulting in compilation errors.

This problem has been corrected.

218308

Code Generation: Request that it be possible to specify that a member function should be declared as volatile.

This ability has been added.

218513

Code Generation (C++): After a .cpp file without a corresponding .h file was reverse engineered, the makefile that was created when code was generated contained a dependency to the .cpp file.

This problem has been corrected.

218522

Code Generation: If constant is used to define port multiplicity, the code is not generated correctly.

This problem has been corrected.

218526

Code Generation: If a part of a class exists by reference, i.e., a pointer to the part, the code generated for initializing an attribute of the part does not compile.

This problem has been corrected.

218696

Code Generation: Request that Rhapsody support the use of non-standard keywords for types.

This feature has been added - to enable the use of such keywords, use the following new properties: CPP_CG::Type::DeclarationModifier, CPP_CG::Type::PostDeclarationModifier, CPP_CG::Type::PreDeclarationModifier.

218697

Reverse Engineering: Request that Rhapsody be capable of reverse engineering keywords preceding and following type definitions.

Now, reverse engineering can handle keywords preceding type definitions. Handling of keywords following type definitions will be included in a future release.

218737

Code Generation (C++): When code is regenerated following forced roundtrip, the makefile is changed.

This problem has been corrected.

218957

Code Generation (C++): Forced Roundtrip makes changes to package file even when nothing has been changed.

This problem has been corrected.

219097

Code Generation: Project fails to build after upgrading from Rhapsody 7.3 to 7.3 MR-1.

This problem has been corrected.

219967

Code Generation: When a component file contained unresolved elements, code was generated for the relevant package even though it was not in the defined scope.

This problem has been corrected.

219969

Long delay before context menu for configuration is displayed.

This problem has been corrected.

219970

UI: On the Misc tab of the Reverse Engineering Advanced Options window, if you add an item to the "Model as Language types" list, there is no way to remove it from the list (the Remove button is grayed-out).

This problem has been corrected.

219972

Reverse Engineering: When a profile contained values for the properties CPP_CG::Configuration::DefaultImplementationDirectory and CPP_CG::Configuration::DefaultSpecificationDirectory, these values were not displayed in the appropriate fields on the Mapping tab of the Reverse Engineering Advanced Options dialog box.

This problem has been corrected.

219983

Reverse Engineering: When user reverse engineered a class that had a dependency on a class already in the model, Rhapsody created an external component file rather than mapping the dependency to the source artifact already in the model.

This problem has been corrected.

220089

Code Generation: When code generation was requested for a single file, the package file was also generated, and was generated incorrectly.

This problem has been corrected.

220318

Code Generation: Mapped unresolved type causes generation of code for package that is not in scope.

This problem has been corrected.

220387

Code Generation: When the SimulinkBlock stereotype is applied to a part, the generated code does not compile.

This problem has been corrected.

220737

Roundtripping (C++): Rhapsody reported a parsing error when roundtripping compilable code that contained a superfluous namespace prefix.

This problem has been corrected.

220828

UI: In the features dialog for components, if you use the Text Editor to specify the Include Path, any carriage returns entered are removed upon pressing the Apply button.

This problem has been corrected.

220829

Reverse Engineering: Request that the property MapGlobalsToComponentFiles be set automatically to False if the property RespectCodeLayout is set to None.

Now, if you set the value of RespectCodeLayout to None, Rhapsody will behave as if the property MapGlobalsToComponentFiles is set to False (regardless of the current value of that property).

220943

Code Generation (C++): When a dependency with the stereotype "friend" is added between a class and a template operation, the generated code does not compile because the friend keyword is generated in the wrong location.

This problem has been corrected.

220945

Code Generation (C++): When using property CPP_CG::Class::Friend, keyword "friend" appears twice in the generated code.

This problem has been corrected.

221038

Roundtripping: Package-to-package dependency disappeared after user made code changes to a single class.

This problem has been corrected.

Configuration Management

110107

Configuration Management: Rhapsody closed unexpectedly when user tried creating object from class in read-only package.

This problem has been corrected.

110113

Error when user tried to replace the PredefinedTypes package in the model, using File > Add to Model.

This problem has been corrected.

110200

DiffMerge: DiffMerge closed unexpectedly while user was merging diagrams.

This problem has been corrected.

110216

Problem opening model due to corruption in a single statechart.

Now, Rhapsody can recover from such situations and open the project.

216572

Configuration Management: Fetching a project with descendants will not fetch a unit that is stored in a separate directory (hierarchical repository).

This problem has been corrected.

Diagram Editors

110151

Object Model Diagrams: Out of memory message encountered when Rhapsody was loading an object model diagram.

This problem was solved by adding a temporary flag to the rhapsody.ini file to allow recovery of the model, and then saving the model.

110161

UI: Rhapsody closed unexpectedly when user selected "Push Button" in the list of metaclasses in the Format dialog. This occurred both when the selection was made with the arrow keys and when the selection was made with the mouse.

This problem has been corrected. "Push Button" no longer appears in the list.

110406

Statecharts: Rhapsody closed unexpectedly when user moved default connector in statechart.

This problem has been corrected.

220079

Object Model Diagrams: If you set a custom browser icon for a new term applicable to requirements, the custom icon is displayed in the browser, but does not appear in object model diagrams if you add such elements to the diagram.

This problem has been corrected.

Framework and Adapters

110217

Framework (C++): If an OMList contains an integer element equal to 0, and you assign that OMList to another OMList, the assignment operation is not carried out correctly and you end up with only part of the original list.

This problem has been corrected.

110290

Framework (C++): If you have an active class, with a statechart that GENs an event, using fprintf to stderr will result in a segmentation fault on Linux.

This problem has been corrected by increasing the minimum stack size in linuxos.cpp.

213352

Framework: Mismatch between declaration and definition of RiCTimeout_RiCSetMemoryAllocator in RiCEvent.h and RiCEvent.c, resulting in compilation error.

This problem has been corrected.

General

108714

Code Generation (C): MISRA violation - in code generated by Rhapsody, certain typedef statements use the same string for both the data type and the alias to use, for example: typedef struct t_Test_Event t_Test_Event;

A new property, C_CG::Class::TypedefStructSuffix, has been added to the MISRA98 profile. The property has a default value of "_t". So now, when code is generated, the above code would appear as: typedef struct t_Test_Event_t t_Test_Event;

108906

When user changed the Notation Style for multiple requirements from Note to Box style, and then back to Note style, Rhapsody closed unexpectedly.

This problem has been corrected.

109708

Rhapsody periodically unresponsive and sometimes closes unexpectedly.

This problem has been corrected.

109769

Can't add Java Enums to a package whose language was changed from C++ to Java.

This problem has been corrected.

109895

When using Rhapsody in Java, if you add the Java API model by using File > Add to Model to add java.sbs (rather than using the File > Add Java API Library option), frequent status bar updates cause the load time to be about 8 times the normal load time.

This problem has been corrected.

110170

Problem accessing Rhapsody when connecting to PC using Microsoft Terminal Services Client.

This problem has been corrected.

110198

Rhapsody closed unexpectedly when user tried to create a new project.

This problem has been corrected.

110235

When a model was saved after a class was roundtripped, the Files grouping under the component disappeared.

This problem has been corrected.

110257

If you launch Rhapsody from the command line, it does not take the ProjectsDirectory setting from the rhapsody.ini file.

This problem has been corrected.

110277

Installation: If installing RiA only, the installation GUI does not allow you to select a folder for Integrity.

This problem has been corrected.

IDE/Code Editors

110196

Eclipse Integration: Problems with the sample rhapsodyListenersExample due to imports that referred to com.ilogix.rhapsody.wfi.

The problems in this sample have been corrected.

219098

Eclipse Integration: When using Eclipse platform integration, user changed configuration's Statechart Implementation setting from Flat to Reusable, and after code regeneration, the code would not compile.

This problem has been corrected.

Import/Export

218750

Simulink Integration: User created a class and applied the SimulinkBlock stereotype to it. After dragging the class to a Test Context diagram, the user tried selecting Make an Object from the context menu, and Rhapsody closed unexpectedly.

This problem has been corrected.

Product Documentation

109838

Documentation: In the Systems Engineering tutorial, the instructions say to select "Make an Object" from the context menu for system blocks and actors. However, "Make an Object" is not one of the menu options - it should say "Make a Part".

This text has been corrected.

Requirement Importing

82300

Gateway: It should be possible to connect to DOORS modules from different DOORS databases appearing within the same Gateway project configuration.

This is now possible.

110047

Gateway: In Tagger, Insert Added Attribute results in $i being introduced into the requirement source, thereby corrupting it.

This problem has been corrected.

110156

Gateway: The stereotype AHL is defined as applicable to ModelElement, not to Requirement, as it was previously.

This problem has been corrected - now the stereotype AHL is applicable to Requirement, Package, and Dependency.

110208

Gateway: Corrupted .types file due to bad XML type pattern.

Now, in such cases, Gateway allows the user to correct the invalid argument and proceed.

Services

110166

SysML Profile: When a SysML model created in Rhapsody 7.1 was opened in 7.3, and the "Change to..." option was used to change the project to Harmony, the Harmony tools in the Tools menu were grayed out.

This problem has been corrected.