2001A.04.00 Hotfix Patch GA-04 - This patch includes all the fixes from the Syncronized patch 2 (aka RoseRealTime2001a.04.02.293.004) and Hotfix Patch GA-03 as well as other fixes to improve Toolset Workflow Enhancement. Do NOT install Syncronized patch 2 or Hotfix Patch GA-03 for Rose RealTime after installing this patch.
This patch fixes problems reported with the General Availability Release of Rose RealTime.
This patch includes all the fixes from the Synchronized patch 2 (2001a.04.02.293.004) and HotFix 03.
A) Fixes introduced in this patch:
B) Fixes from a previous patch:
i) From HotFix 03:
ii) From Synchronized patch Rational Rose RealTime Service Release 2001a.04.02.293.004:
This patch fixes the following Toolset, code generation and RQA-RT addin problems.
iii) Fixes included from Previous versions of this patch: Rational Rose RealTime Service Release 2001a.04.01.293.10
Defect 61211 -- RoseRT crashes on startup
This could have happened for a couple of reasons.
A file load was failing because it wasn't available on the Network or the FRAMEWORKS_PATH wasn't defined properly. Now a check is added to see if the load failed and create an empty model if so.
If the location of $ROSERT_HOME was changed the registry (on UNIX) would be out of date. Modified the RoseRT script to update the registry if the directory that RoseRT was installed in has changed since the registry was last updated.
Symptoms would have been a crash with ending in the following call int CRoseApp::InitInstance(). This would appear to be a crash at: "1cICRoseAppMInitInstance6M_i" on Solaris
Defect 61891 -- Load error: Invalid client or supplier
On Open Model an error is shown in the log: "Error: Removed connecting view with an invalid client or supplier". A save and reload does not fix the problem. The save of state diagrams for excluded composite states has been corrected.
Defect 61342 -- Crash when loading new model from CM system
This occurred due to an error freeing an already loaded model. Symptoms include the Unix crash with call stack ending in: "ItemViewHGetUnit6kM_pnSCOControllableUnit"
Defect 60971 -- Intermittent crash when removing associations from a diagram
Symptoms include the Unix crash with call stack ending in: "0fEItemRremoveFromContexti'
Defect 61500 -- Crash when modifying a model while it is being built
Problem is when the user modifies their model while doing a build. Specifically, deleting elements (through redo) that show up in the build errors list after the build is completed. Symptoms include the Unix crash with call stack ending in "1cMCStdIdentityMCInternalUnkXQdDueryMultipleInterfaces6MLpnLtagMULTI_QdDI__ l"
Defect 60862 -- Intermittent Crash when doing complex inheritance manipulation
Symptoms include the Unix crash with call stack ending in: "1cSCORefinableElementbGChangingContainingClassSupertype6MpnOClassifierItem"
Defect 49097 -- Crash when running out of window resources
Defect 48380 -- Crash when running out of window resources
Defect 61360 -- Crash when running out of window resources
Defect 61260 -- Crash when running out of window resources
When the toolset opens too many windows (20-200 depending on type and contents) it was crashing in one of the following calls:
62021 MwICreateFontIndirect
61260 MwIDefWindowProc
61360 MwICreateBitmapIndirect
48380 MwClearMenuItemStructure.
This problem was compounded by a slow leak in window resources - this would lead to seemingly random crashes after many hours of window operations, especially specification windows. The toolset now does not use as many resources per window, allowing a much larger number (100-400) of windows to be used.
Defect 60961 -- ctrl-shift-d on capsule-to-class association on class diagram causes crash
There was memory stomping when the user selected something that couldn't be duplicated and pressed cancel on the dialog.
Defect 60863
Defect 60428
We have improved error recovery wrt RQA (mostly handling unknown socket failures). This will reduce the instances of the following call stack crashes
60863 int CRTestHarnessController::ReceiveMessage(unsigned long&,unsigned long&,void*&) 60428 void CRHarnessControllerWnd::OnDoComparisons(unsigned,long)
Instead of crashing RoseRT or hanging Verify Behavior in RQART the user should see the message "An error occurred while attempting to communicate with the test harness.". When this message occurs RQART will be shut down. If the user is running a manual target that cannot be shutdown by RoseRT the user should restart the target before running Verify Behavior again
Defect 60552 -- RQA-RT Wrong signals available in selection window
In a sequence diagram, the selection of valid signals may be based on the wrong conjugation of the protocol
Defect 63859 -- RQA-RT Insufficient interface replication.
RQA will now flag (as an error) cases where a harness is generated connected to ports that are already in use.
Defect 57051 -- RQA-RT: "Cannot proceed: Verify Behaviour is already running" message when verifying in manual mode
This fix resolves any problems that involve the target failing and an exception being thrown by the RRTEI call as a result of the target failure. In addition the fix protects against errors arising from socket failures.
ii) Fixes introduced in previous versions of this patch Synchronized patch 2001a.04.02.293.004:
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 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
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.
iii) Fixes included from Previous versions of this patch: Rational Rose RealTime Service Release 2001a.04.01.293.10
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
Model Integrator
C++ Code Generator
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
The following files are included. All paths are relative to the $ROSERT_HOME
directory.
GA-04.win32.tar.gz
C++/cpp.pty
GA-04.SUN5.tar.gz
C++/cpp.pty
Check that there is a valid Rose RT v6.3 installed and ensure that file
and directory permissions allow writing to the file listed in section 3.
If Rose Real Time has been network/admin installed, the patch applies to the
server machine only. Please contact your administrator to install the patch.
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.126.0. (If it is
not this then the patch was not applied correctly.)
RQA-RT
Run the toolset and ensure that the build number of RQA is 6.3.140.0.
(If it is not this 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
C++ Code Generator
Rebuild C++ models
Solaris and Windows Host Platforms
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.
Please review the information which can be found at the Rational
Rose RealTime technical notes web site at:
3) What is Included in this Patch
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/RTJava.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
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
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/RTJava.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
bin/RoseRT
bin/rrtExceptionInput
bin/sun5/rtcppbld.dll
bin/sun5/rtcppbld.rsb
bin/sun5/rtcppgen
bin/sun5/rtcgen
bin/sun5/rtjavaui.dll
bin/sun5/rtjavaui.rsb
bin/sun5/rtjavagen
bin/sun5/RoseRT
bin/sun5/RoseRT.rsb
RQART/bin/sun5/librqart.so
RQART/bin/sun5/rqart.rsb
bin/sun5/modelintRT
bin/sun5/modelintRT.rsb
bin/sun5/RationalRoseRT.tlb
bin/mw/bin-sunos5_optimized/hh
bin/mw/bin-sunos5_optimized/mwcleanup
bin/mw/bin-sunos5_optimized/mwfwrapper
bin/mw/bin-sunos5_optimized/vbstest
bin/mw/bin-sunos5_optimized/winhlp32
bin/mw/lib-sunos5_optimized/hhctrl.ocx
bin/mw/lib-sunos5_optimized/libadvapi32.so
bin/mw/lib-sunos5_optimized/libcomctl32.so
bin/mw/lib-sunos5_optimized/libcomdlg32.so
bin/mw/lib-sunos5_optimized/libgdiuser32.so
bin/mw/lib-sunos5_optimized/libitircl.so
bin/mw/lib-sunos5_optimized/libitss.so
bin/mw/lib-sunos5_optimized/libkernel32.so
bin/mw/lib-sunos5_optimized/libmfc400s.so
bin/mw/lib-sunos5_optimized/libmfc400su.so
bin/mw/lib-sunos5_optimized/libmlang.so
bin/mw/lib-sunos5_optimized/libmshtml.so
bin/mw/lib-sunos5_optimized/libmsvcrt.so
bin/mw/lib-sunos5_optimized/libmwflocator.so
bin/mw/lib-sunos5_optimized/libole2ui.so
bin/mw/lib-sunos5_optimized/libole32.so
bin/mw/lib-sunos5_optimized/liboleaut32.so
bin/mw/lib-sunos5_optimized/librpcltscm.so
bin/mw/lib-sunos5_optimized/librpcrt4.so
bin/mw/lib-sunos5_optimized/libshell32.so
bin/mw/lib-sunos5_optimized/libshlwapi.so
bin/mw/lib-sunos5_optimized/liburlmon.so
bin/mw/lib-sunos5_optimized/libuuid.so
bin/mw/lib-sunos5_optimized/libvbscript.so
bin/mw/lib-sunos5_optimized/libwfsapi.so
bin/mw/lib-sunos5_optimized/libwinmm.so
bin/mw/lib-sunos5_optimized/libwsock32.so
bin/mw/setmwruntime
4) What to do Before Installation
Step 1. Ensure there is no running instance of Rose RealTime on the
system to update.
Step 2. For Unix, ensure that the file permissions on the
$ROSERT_HOME/Help directory is writable for everyone
using this installation of Rational Rose RealTime.
To set this permission, type the following commands:
cd $ROSERT_HOME
chmod ug+w Help
Making the $ROSERT_HOME/Help directory writable ensures
that the online help system can generate .chw files used by
the Index tab of the online help system.
The online help system generates a .chw file when a user
accesses the Index tab for a particular .chm file for the
first time only.
For more information about setting the appropriate
permissions
required for your users, contact your System Administrator.
Step 3. 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 4. Copy the appropriate tar file for your platform to your
$ROSERT_HOME directory and untar them there.
- on Solaris you would need GA-04.SUN5.tar.gz
cd $ROSERT_HOME
gunzip < GA-04.SUN5.tar.gz | tar -xf -
- on HPUX you would need GA-04.HPUX.tar.gz
cd $ROSERT_HOME
gunzip < GA-04.HPUX.tar.gz | tar -xf -
- on Windows you would need GA.04.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 the .tar.gz file, but it may
report that
"Archive contains one file: GA-04.win32.tar.gz Should WinZip
decompress it to a temporary folder and open it?", answering
Yes
will allow the process to proceed.
6) What to do After Installation
7) Which Platforms are Supported