Rational Rose RealTime Service Release 2001A.04.02.293.004 Release Notes

September 2001

Copyright Information

Copyright © 2001 Rational Software Corporation. All Rights Reserved.

Scope

This Service Release fixes problems reported with the v2001A.04.00.293.000 release of Rational Rose RealTime.

 

 

Table of Contents

Scope. 1

Hardware/Software Information. 1

Supported Platforms. 1

Hardware Requirements. 1

Software Requirements. 1

Getting Started. 2

Installation Information. 2

Product Documentation. 3

Defects and Changes. 3

Defects fixed in this release. 3

Files changed by this release. 9

Contacting Rational Technical Support 9

 

Hardware/Software Information

Supported Platforms

·         Windows NT 4.0 with service pack 6a

·         Windows 2000 Professional, with service pack 1

Hardware Requirements

Software Requirements

Getting Started

What to do Before Installation:

 

Check that there is a valid Rose RealTime v2001A.04.00 installed and ensure that file and directory permissions allow writing to the file listed in section 3.

 

If Rose RealTime has been network/admin installed, the patch applies to the server machine only. Please contact your administrator to install the patch.

 

Installation Information

Some Windows virus checking software will warn about the gzip'ed files (those files with the .gz extension).  This warning can be safely ignored. There should be no virus's reported during the extraction of the patch files when using winzip.

   

How to Install this Patch:

 

Step 1. Ensure there is no running instance of Rose RealTime on the system to update.

 

Step 2. Ensure that you DELETE ALL EXISTING .chw files from your $ROSERT_HOME/Help directory.

 

Any existing .chw files that you may have will not correspond to the new help files.

 

Step 3. Copy the appropriate tar files for your platform to your $ROSERT_HOME directory and untar them there.

 

·         On Windows you would need RoseRealTime2001a.04.02.293.004.tar.gz and RoseRealTime2001a.04.02.293.004.win32.tar.gz

·         Use winzip to extract the files into %ROSERT_HOME% usually this is the directory "C:\Program Files\Rational\Rose RealTime".  Note that winzip is able to read the .tar.gz file, but it may report that "Archive contains one file:  RoseRealTime2001a.04.01.293.010.win32.tar.gz Should WinZip decompress it to a temporary folder and open it?", answering Yes will allow the process to proceed.

 

What to do After Installation:

 

The accompanying tar files are no longer needed.  However, if you wish to retain them if a re-installation is required, place these tar files in $ROSERT_HOME/specials.

 

Toolset

 

Run the toolset and ensure that the build number is 6.3.120.0.  (If it is

6.3.114.0 or 6.3.112, then the patch was not applied correctly.)

 

Online Help

 

To verify the online help, start Rose RealTime, from the Help menu, click

contents, then click the Index tab. If the Index crashes or is blank, then

the patch was not applied correctly.

 

RTJava

 

Reload and Rebuild Java Models

 

Model Integrator

 

No additional steps needed

 

C++ Code Generator

 

Rebuild C++ models

 

RQA-RT

 

No additional steps needed

Product Documentation

http://www.rational.com/support/documentation/index.jsp

Defects and Changes

Defects fixed in this release:

Defect 56221     Keyword "mutable" breaks codegen

Defect 56347     RoseRT crashes when a public port is introduced to a capsule

Defect 56368     Duplicating a collaboration diagram with a sequence overlay causes duplicated signals

Defect 56419     Overriding parent port does not break triggers

Defect 56455     Internal Error (Code Generator): sig when transition trigger references non-existing signal

Defect 53413     Unix: Alt-Graph key combinations not working

Defect 53256     RRTEI script won't run to completion from command prompt

Defect 55086     RoseRT: RQA-RT Search Tool Does not look in Sequence Diagrams

Defect 55000     RTS Shutdown does not trigger Verify Behaviour to reset

Defect 55037     Build reuse not possible with RQA-RT unless reusing TestHarness

Defect 55092     RoseRT: RQA-RT Problem Converting OTD MSCs when multiple variables of the same name

Defect 55110     RQA-RT: The log window doesn't open up automatically when you verify behaviour

Defect 53447     CodeGen: RTJava:  generated code is incompatible with fastjava compiler in Forte IDE

Defect 54023     RQA-RT:  Missing information in MSCs converted by RQA-RT conversion tool

Defect 54030     RQA-RT: Importation is not supported in RQA-RT

Defect 54378     RQA-RT: Improve error messaging for protected driver

Defect 56750     CodeGen: RoseRT codegen error "internal error: _targetClass"

Defect 58231     RQA-RT: RQA crashes when a capsule is run

Defect 56272     ObjecTime Testscope MSC conversion fails

Defect 58847     RTMI: Connector error using "Generate Unique Identifiers For All Elements"

Defect 56755     Codegen bug: transition function call does not contain a cast to the protocol class

Defect 55966     Unix: Add more information to crash logs

 

Fixes included from previous version of this patch:

Rational Rose RealTime Service Release 2001a.04.01.293.010

 

Defect 53119     RTJava: Binding model run failure

Defect 53120     RTJava: Too much is being generated for child capsules

Defect 53121     RTJava: codegen internal error (Conversion error during translation)

Defect 53126     RTJava: Incremental COMPILE_EACH_TARGET when ROSERT_HOME contains spaces

Defect 53128     RTJava: Clean won't work when RoseRT home has spaces

Defect 53132     RTJava: Initialize message missing when the initial point is triggered

Defect 53134     RTJava: reply messages don't appear in trace

Defect 53135     RTJava: Unwired port are not currently implemented

Defect 53136     RTJava: Plug-in capsules are not correct

Defect 53137     RTJava: Codegen should handle signals with primitive data

Defect 53138     RTJava: bindAt UnrecoverableError exception in the inheritance model

Defect 53139     RTJava: generate class-by-class fails where generate all doesn't

Defect 53141     RTJava: transition not processed unless overridden

Defect 53209     RTJava: project component does not recompile often enough

Defect 53219     RTJava: Command line observer for unwired ports missing functionality

Defect 53278     RTJava: missing rtGetInSignalType function for protocol role

Defect 53316     RTJava: rtgavagen - Application Error in the Inheritance model

Defect 53324     RTJava: Corrections to the RTJavaPingPong model

Defect 53342     RTMI: model integrator fails to report conflict in Capsule and Class specs

Defect 53359     RTJava: Too much is being generated for child capsules

Defect 53863     OTD --> RoseRT conversion problem sending Base instead of Subclass

Defect 54150     WalkModel.ebs script crashes on Unix

Defect 54151     RQART: "Error: Ports specified in the message are not connected"

Defect 54327     "Error Creating Attribute" using the RQA-RT Conversion Tool with paramatized constructors

Defect 54331     "Error Creating Attribute" using the RQA-RT Conversion Tool with pointers as an attribute

Defect 54514     RQA-RT Converts as RPL code even if blank before conversion

Defect 54522     RQA-RT Conversion Issue on Unix (problems with new lines)

Defect 51320     Unix Exception: RcFillHbt (Select Index in Online Help)

Defect 53478     RoseRT UNIX Exception: _1cLCompareKeys6Fpc0pv_i_ (on-line help)

Defect 50437     Unix Crash when pressing  "List Topics" button in Help

 

What Has Changed:

 

Defect 56221:

 

Prior to release 6.3, the type of an attribute was not parsed: it was simply written before the name in the source file. This approach does not support function pointer types, for example. Because the code generator must now be able to parse the type, it may not contain keywords that are not part of the type grammar. For example, the keyword "mutable" is part of the "storage class" of a variable declaration. To support this type of field a new choice for "AttributeKind" is available on the "C++" tab of an attribute's properties.

 

Defect 56347:

 

Excessive notifications were processed in the case of branched multi-level capsule inheritance. In rare situations notification sent to the capsule located on the different inheritance branch caused RoseRT to crash.

 

Defect 56368:

 

RoseRT now requires all association roles to have unique names within a collaboration diagram. If you load a model that has one or more collaboration diagrams with non-unique association role names then the names will be corrected when the model is loaded. Messages of the form Warning: Renamed Association Role "c1" to "c1_0" in class/package "Logical View" will appear in the log. Once the model is saved the changes will be permanent.

 

Defect 56419:

 

Overriding the protocol of a port role can lead to situations addressed by the resolution of defect 56455. See the description below.

 

Defect 56455:

 

The code generators now produce a helpful warning that aids users in repairing the problem.

 

Defect 53413:

 

Alt-Graph key combinations now work as expected

 

Defect 53256:

 

When a model open of an rtmdl file is done using the extensibility interface all dialog boxes except one will be suppressed and messages written to the log instead. The exception is the dialog box that pops up if you had modified a previously open model and forgotten to save it. This was left as a popup to avoid having users unintentionally lose work.

 

Note that OpenModel will always return a model, when it fails to open the specified model it will return the default empty model. To check that the model you wanted got opened use code like the following:

 

Set theModel = theApplication.OpenModel(modelFileName)

If Not theModel.GetFileName () = modelFileName Then

theApplication.WriteErrorLog "Bad model"

End If

 

Defect 55086:

 

Search will now examine the code in a Sequence Diagram

 

Defect 54995:

 

There is new checkbox "Rebuild" in the "General" tab of the RQA-RT's "Options" screen.

 

Unchecked - incremental build will be used

Checked - full re-build will be used

 

Default state: unchecked

 

It is recommended to keep this option in the unchecked state (i.e. use incremental build). Checked state can be used to clear out build problems (caused by manual file editing or same-name-files being overwritten).

 

Option will be saved with the option's set.

 

Change is backward compatible (i.e. previously saved options sets will be loaded by an updated RQA-RT).

 

New property was added into RQA-RT's automation object to expose this option: "ReBuildCode". It has boolean type:  True - re-build; False – use incremental build (default).

 

Defect 55092:

 

This warning has been turned into an error.  The user will need to fix the model before continuing

 

Defect 58231: RQA crashes when a testcase is run.

 

During the validation of the sequence diagram, incorrect capsule role was picked up. Exception occurs when validation is performed on the message send to/from the port that was added in the capsule being inherited. Now the correct capsule role will be selected for validation.

 

Defect 56272: ObjecTime TestScope MSC conversion fails

 

During the conversion of sequence diagrams imported from OTD, RQA-RT did try

to convert "return <boolean>" statements. However, it didn't take into

account that word "return" can be a part of a string or comment. This

conversion rule has been removed and "return" statements will be left intact,

as they come from OTD.

 

It is worth noticing that code from the message's "DATA" section will be put into the function that has "void" return type. Should RQA-RT's "Verify Behavior" be run on such diagram, compiler error showing incompatibility of function return values will be brought up. In such a case "return <boolean>;" statements would have to be changed into "return;" statements.

 

Defect 54635: RTMI: Connector error using "Generate Unique Identifiers For All Elements"

 

A problem was encountered where unique id's were being generated for dep references after a recreation occurred. This causes problems with MI by generating a "(1)" in front of the reference which corrupts the file.

 

Fixes included from previous version of this patch:

Rational Rose RealTime Service Release 2001a.04.01.293.010

 

Toolset

 

Defect rose00054150 - the WalkModel script (found in Examples/RRTEI/SummitBasic)

was fixed to check that a UseCase had a StateMachine before attempting to

walk the StateMachine.

 

Three defects related to Solaris Help system crashes have been fixed.

 

RTJava

 

rose00053136    Dynamic importation/deportation behavior of Capsules

                        functionality added

rose00053135    Dynamic bindings of unwired ports functionality added

                        Miscellaneous bugs with code generation and Target

                        Observability

 

Model Integrator

 

rose00053342    Missing conflict is now reported correctly.

 

C++ Code Generator

 

rose 00053863 (Backwards compatibility) changes with respect to sending

subclass data when a super class is expected -- for all classes derived from

RTDataObject.

 

RQA-RT

 

1. Changes related to relay ports.

 

Relay ports are a logical modeling concept. When RoseRT generates code there

is a single connection between the source and target. The raw data which the

RTS provides in a trace shows only this connection. RQART works with

RoseRT's Relay Port Tracing Feature to produce a trace which shows the

single message split into its' logical components as they are indicated on

the specification diagram. Several changes were made to improve the handling

of relay ports.

 

1.1 rose00054030 RQART checks the specification diagram for correctness.

Previously it required that all messages be sent between logically connected

ports. This check has been downgraded to a warning to allow diagrams that

don't show all the relay port connections to be verified.

 

1.2 rose00054030 RoseRT was enhanced to handle relay ports used in the

manner described in the help entry "Examples/Patterns/Safe Dynamic Structure

Pattern/Accessor Capsules".

 

1.3 Defect rose00054151 (PR 22725) was fixed. This test involved a sequence

diagram with a message from a test driver directly to a nested capsule. The

sequence diagram did not include an instance for the container of the nested

capsule which was connected to the nested capsule by a relay port. Note that

RQART does not automatically create container capsules for a nested capsule

when the container is not included in the sequence diagram. In order for the

test case to work the container capsule must be created either by a previous

test or by explicitly including in the sequence diagram. 

 

1.4 rose00054030 A problem with RoseRT's Relay Port Tracing Feature when

used from RQART to show a message from a driver to a container capsule and

then to a nested capsule through a relay port was fixed.

 

2. Changes related to RQART's "Convert ObjecTime TestScope Diagrams"

 

2.1 A problem that caused an exception to be thrown and conversion stopped

was fixed.

 

2.2 A potential problem with in and out signals with the same name but

different data classes was fixed.

 

2.3 A problem where the code generated by the conversion doesn't compile.

This was caused by using the function that was required to send data on a

signal to execute code when there wasn't any data to be sent. This problem

has been fixed for cases where the signal has no data class.

 

2.4 rose00054023 The conversion was enhanced to determine the receiver port

on any message that is sent between two instances that have a direct logical

connection from the sender port. This calculation is required since the

receiver port information wasn't available in the original ObjecTime

TestScope diagrams. Note that this calculation significantly increases the

time required to perform the conversion. Diagrams which have messages

between instances that skip relay ports will still require the receiver port

to be entered manually.

 

2.5 A problem with leading underscores in the name of the collaboration

containing the converted sequence diagrams (Converted_OTD_MSCs) was fixed.

 

2.6 A problem with certain error messages that tried to hyperlink directly

to a sequence diagram, which caused an exception, was fixed.

 

2.7 A potential problem dealing with registered ports was fixed.

 

2.8 A potential problem where certain warning level issues could skip part

of the conversion was fixed.

 

Connexis

 

This is a Work-around for rose00053975 which is characterized by a core dump

on target when the Viewer disconnects from a target agent when there is trace

activity on-going.

 

            1. Open the model ROSERT_HOME/Connexis/Model/DCS.rtmdl

 

            2. Open the capsule

                        LogicalView::DCSComponents::DCSController::RTDController

 

            3. Open the transition labeled deregisterSPP on the Operational state.

 

            4. Change line 13 from 'endPoint->endPort.port->getName()' to

                        'index'. Before the edit, the trace tag will look like:

 

 

            RTD_TAG_TRACE_EVENT(RTD_TRG_CONTROLLER,

                        RTD_TRACE_OPERATIONAL,

                        RTD_C_DEREG_SPP_IND,

                        endPoint->endPort.port->getName());

 

            After the edit it should look like:

 

            RTD_TAG_TRACE_EVENT(RTD_TRG_CONTROLLER,

                        RTD_TRACE_OPERATIONAL,

                        RTD_C_DEREG_SPP_IND,

                        index);

 

            5. Rebuild the library or libraries you typically use and copy them

                        to ROSERT_HOME/Connexis/C++/lib/<lib_name> where 'lib_name'

                        is the name of the library you just built. For example, if a

                        new DCS library is built from the DCSlib_Std_31 component,

                        copy the library from

                        ROSERT_HOME/Connexis/Model/DCSlib_Std_31/build to

                        ROSERT_HOME/Connexis/C++/lib/NT40T.x86-VisualC++-6.0

Files changed by this release:

The following files are included. All paths are relative to the $ROSERT_HOME

directory.

 

RoseRealTime2001a.04.02.293.004.tar.gz

 

C++/cpp.pty

Examples/RRTEI/SummitBasic/WalkModel.ebs

rosert_prof_readme.htm

rosert_readme.htm

Connexis/Docs/rosert_connexis_readme.htm

Help/releasenotes.pdf

Help/rrtprofessional.pdf

RTJava/RTJavaProject.rtpty

RTJava/TargetRTS/*

RTJava/TargetRTS.rtmdl

RTJava/classes/*

RTJava/normal/*

RTJava/Samples.rtmdl

RTJava/Java.rtmdl

RTJava/scripts/

RTJava/scripts/Makefile

RTJava/scripts/rtcomp.pl

RTJava/scripts/rterror.pl

RTJava/scripts/RTexecute.pl

Examples/Models/Java/RTJavaPingPong.rtmdl

Connexis/Docs/rosert_connexis_readme.htm

 

RoseRealTime2001a.04.02.293.004.win32.tar.gz

 

bin/win32/rtcppbld.dll

bin/win32/rtcppgen.exe

bin/win32/rtcgen.exe

bin/win32/rtjavaui.dll

bin/win32/rtjavagen.exe

bin/win32/RoseRT.exe

bin/win32/RrtRes.dll

RQART/bin/win32/rqartRes.dll

RQART/bin/win32/rqart.dll

bin/win32/modelintRT.exe

bin/win32/modelintRTres.dll

 

Contacting Rational Technical Support

http://www.rational.com/support/index.jsp