Changes in Model RealTime 10.3

Model RealTime 10.3 2020.16-iFix3

175015: Adopt Log4j version 2.17.0

Log4j version used in Model RealTime has been upgraded to 2.17, which is more secure and includes a fix for CVE-2021-45105. See here for details:
https://nvd.nist.gov/vuln/detail/CVE-2021-45105


Model RealTime 10.3 2020.16

173596: Model RealTime 10.3 2019.w43 crashes when opening certain models' Relationships tab

Redesigned the relationships tab and enhanced the design to avoid crashes for certain models as reported

173519: Unhandled event loop exception when showing previous searches

Fixed infinite recursion that may occur in model search result view.

173424: Model RealTime 10.3 - model compiler - CPPPropertySet settings in model libraries

Model compiler has been fixed to correctly handle CPPPropertySet settings defined in model libraries from an Eclipse plugin. Now, CPP native types like std::string and configurations such as "header preface" which are stored in CPPPropertySets in the referenced model library are correctly generated into C++. This has been fixed in Model RealTime 10.3 2020.16.

173366: Model RealTime 10.3 2019.w43 crashes when opening certain models' Relationships tab (indexing problem?)

Now the Relationship tab in the Property section is completely redesigned to fix the problem of crashing while opening certain models.
In the new Relationship tab now we have a single table that contains Incoming, Outgoing and Self-referencing relationships. Last but not the least, the context menu options are revamped to enrich user experience


Model RealTime 10.3 2020.10

173483: Rose RealTime importer: Output folder variable is expanded in imported component

RoseRT Importer has been updated and now it is always importing RoseRT OutputDirectory to default outputLocation in Model RealTime (tc.outputLocation is not set and by default current workspace is used). Even if OutputDirectory has some custom setting, like c:\temp_build\$BUILD_FOLDER\${name}, it will still be imported to default outputLocation.
To generate code to some custom target location different from current workspace, you can manually update target location for all tcjs at once by changing targetLocation property in the parent CppLibrariesDefaults.tcjs which is also created during import. Or use model compiler command line option --out.

173471: Rose RealTime importer: support $name and other variables when converting components

Improved support for $name, ${name}, $(TCONFIG_NAME) and $(CONNEXIS_HOME) variables in RoseRT Importer and Model RealTime.
The following improvements have been implemented:
1) $name or ${name} is imported into $(TCONFIG_NAME) (before it was resolved to the actual name of component)
In Model RealTime we have TCONFIG_NAME variable which points to the file name of tcjs. This variable actually corresponds to $name from RoseRT.
2) Fixed Makefile generator to replace $(TCONFIG_NAME) with indexed TCONFIG_NAME variable, for example, $(0_TCONFIG_NAME) in compile arguments.
So now, RoseRT compile command which references $name, for example:
CompileCommand = $(CC) $(PCH_INCPATHS) /Yc"RTSystem/$name.h"
is imported to Model RealTime like this:
tc.compileCommand = '$(CC) $(PCH_INCPATHS) /Yc"RTSystem/$(TCONFIG_NAME).h"';
and then generated into Makefiles like this:
0_TCONFIG_NAME = MyComp
0_CC = $(CC) $(PCH_INCPATHS) /Yc"RTSystem/$(0_TCONFIG_NAME).h"
3) In RoseRT by default OutputDirectory = $@/$name, and it is imported to default in Model RealTime. RoseRT Importer has been updated to consider $@/${name} also as default case in Model RealTime.
4) $(TCONFIG_NAME) is now resolved in target project and target location
5) Added generation of CONNEXIS_HOME variable into Makefiles:
RSA_RT_HOME = C:/_Install/Model RealTime_Photon_latest/rsa_rt
CONNEXIS_HOME = $(RSA_RT_HOME)\Connexis
Fixed in Model RealTime 10.3 2020.10

173459: Model RealTime 10.3 (10.3.0.v20200131_1117) improperly generates code for pointer to function

Model Compiler incorrectly generated code for pointer to function template parameter, brackets ")(" were missing which resulted in compilation errors like this:
../Class1.h:21:140: error: template argument 2 is invalid
This problem has been fixed in Model RealTime 10.3 2020.10.

173435: Pre-compiled headers does not work when Unit subdirectory is used

Unit precompiled headers were not working correctly when Unit subdirectory was used and resulted in the following error:
c1xx: fatal error C1083: Cannot open compiler intermediate file: 'RTSystem/PchLib.pch': No such file or directory
This problem has been fixed now. Unit subdirectory is also created in the build folder and precompiled headers can be generated and used correctly.
Fixed in Model RealTime 10.3 2020.10

173425: Support cyclic dependencies between TCs

Now cycles in TC dependencies are supported. This is controlled by global preference "Allow cyclic dependencies between TCs" (false by default). Support for TC cycles can also be enabled by defining JVM property: -DRTAllowCyclicDependencies=true
By default TC cycles are not allowed and if code generator finds cycles in TC dependency graph, it will report an error. If preference "Allow cyclic dependencies between TCs" is set, then an info message will be printed instead, like this:
10:27:23 : INFO : Prerequisite dependency from Test2/LibTC3.tcjs to Test2/LibTC1.tcjs forms part of a cycle
Implemented in Model RealTime 10.3 2020.10

172988: CQPAR00243886 - ModelCompiler handles 'Unit subdirectory' in a faulty way

Model Compiler has been fixed to correctly handle Unit subdirectory (and also Output subdirectory) when generating makefiles. Now the same sub-folders are created under target configuration folder and unit object files are created under Unit subdirectory during build. This is delivered in 10.3 2020.10

172686: CQPAR00240601 - RSA-RTE: Code generator generates incorrect code from model

Code generator now generates correct code for variadic templates and polymorphic wrappers for function objects. This was delivered in 10.3 2019.11

114767: Linking: The command line size limits size of the RSA-RTE model (number of objects)

Long list of objects in the link command for Visual Studio compilation can be solved by defining ALL_OBJS_LIST = %$(ALL_OBJS_LISTFILE) in Compilation make insert for the top TC and using default $(LD) pointing to ld.pl as link command


Model RealTime 10.3 2020.03

173410: Return type: unsigned int __stdcall

Return type "unsigned int __stdcall" is now supported.
__stdcall and other calling conventions are supported for CppPrimitiveDatatypes.

173368: Build Server has failed to start

Improved Model Compiler Server startup protocol, error reporting and logging. Extended await time for reply from server during startup. Added system property com.ibm.xtools.umldt.rt.transform.cpp.ui.serverTimeout that can be used to specify maximum time in ms that the tool will wait for notification that server has been started

173327: CQPAR00247319 MC: Stop after first build error.

Now when building several TCs from one command line, model compiler will stop after first build error.
Added a new command line option --keepBuilding to continue building remaining TCs even if compilation failed for one of them. This was done in 10.3 2020.03

173237: CQPAR00247184 Build Server has failed to start with the following command

Fixed RTE Server and Model Compiler Server to start on localhost/127.0.0.1 instead of 0.0.0.0 to avoid being blocked by firewall.
Added printing information about IP address to workspace/.log :
!ENTRY com.ibm.xtools.umldt.core 1 0 2020-01-13 22:32:40.682
!MESSAGE UMLMDDCorePlugin.startServers(): RTE Server started on localhost/127.0.0.1 at port 60005
and mc.server.log:
13.Jan 22:38:49 MCS : Model Compiler Server: server running on localhost/127.0.0.1 at port 60006
This was delviered in 10.3 2020.03

173202: RFE: C++11 support for rvalue reference

RValue references (&&) are supported now. Types like "MyClass &&" are correctly generated into target code. Custom move constructors and move assignments can be defined by creating UML Operations with the following signatures:
MyClass( MyClass&& param ); // move constructor
MyClass& operator=( MyClass&& param ); // move assignment

173051: CQPAR00244536 - Model debugger crashes in RTDaemon::eventMatches when using view Variables

Added synchronization to observability daemon.
This was delivered in 10.3 2020.03

135650: Possibility to reorder nested classes.

Now it possible to reorder nested types (Class, Interface and Enumerations) in dedicated property page for Capsules, Classes and Interfaces


Model RealTime 10.3 2019.43

173272: CQPAR00247603 - Transitions not shown in inherited state diagram

Fixed an exception that prevented a state chart diagram rendered correctly.

173245: CQPAR00247366 - Adding sources semi-automatically to TCJS is missing or manual add is not working for abstract TCJS with Model RealTime v10.3

The TC editor now provides an Organize Sources button on the Main tab. When pressed a dialog will suggest elements to be added or removed as source elements to make the Sources list optimal (so that no unnecessary elements get built by the TC).

173220: CQPAR00247186 Make fails with incorrect Usage of cdrun.pl when prerequisite External Library TC references a pre-compiled library

The problem was related to one of scenarios how to use External Library TCs when libraries are pre-compiled, External Library TC does not define Build command and Build folder, but only lists Inclusion paths and Libraries. Using such External Library TC as a prerequisite caused Make to fail complaining about wrong Usage of cdrun.pl :
Building in folder ../..
Usage: C:/_Install/Model RealTime_Photon_latest/plugins/com.ibm.xtools.umldt.rt.core.tools_1.50.0.v20190903_2200/tools/cdrun.pl directory command …
make: *** [all] Error 1
This has been fixed in 10.3 2019.43

173216: CQPAR00247390 - ExternalTargetProject configuration causes issues with ExternalLibrary TC

ExternalTargetProject property is obsolete and it does not influence any more on the list of target projects used by Ant Build and some other tasks. This property is not added to *.tc files by TC editor and it is not converted to the new TCJS format.
ExternalTargetProject property will be removed from legacy TCs as soon as you start changing Build folder property in TC editor (but only if project specified in this property exists in your workspace).
If ExternalTargetProject property is not relevant and references a non-existing project, it will not be automatically removed from TC, but you can always remove it manually by deleting a line similar to this from your TC file:
<Property id="com.ibm.xtools.umldt.core.ExternalTargetProject" value="@46,=@com.ibm.xtools.transform.core.metatype.project/RG_DistributedFunction"/>
Fixed in Model RealTime 10.3 2019.43

173208: CQPAR00246948 Refactor >Rename hangs occasionally

Model RealTime 10.3 was hanging when user tries to rename a class with Refactor -> Rename.
This problem has been fixed in Model RealTime 10.3 2019.43

173193: CQPAR00246782 $defaultMakeCommand for the recursive make call should be: $(MAKE)

For GNU_make type and Recursive batch.mk generation of recursive make calls has been enhanced and now "$defaultMakeCommand" is replaced with $(MAKE) in generated batch.mk.
Also, if GNU make command is used, specification of target folder "$(IN) <target folder>" is replaced with "-C <target folder>" make option.
Both improvements are implemented for all recursive make calls including Make commands generated from External Library TCs.
So, now recursive make calls look like this:
all :
@$(ECHO) Building in folder ../../Lib1__target/default
@$(MAKE) -C ../../Lib1__target/default all
@$(ECHO) Building in folder ../../CppProject/Debug
@$(MAKE) -C ../../CppProject/Debug all
@$(ECHO) Building in folder .
@$(MAKE) -C . all
This change is needed to correctly support parallel builds with GNU make. Implemented in Model RealTime 10.3 2019.43
See more documentation on $(MAKE):
https://www.gnu.org/sof…ke.html#MAKE-Variable

173064: CQPAR00244716 - Please provide API access to configure and trigger a build in the RSA-RTE owned model compiler instance

An API for invoking the model compiler from an Model RealTime plugin has been added. It's documented in online help under Model RealTime Java APIs - Model RealTime Tool API - Reference - API Reference (see the package com.ibm.xtools.umldt.rt.api.modelcompiler). Also there is a sample plugin that uses the API which can be added to the workspace by means of File - New - Example - Model Compiler API Sample.
This was added in 10.3 2019.43

172370: CQPAR00238740 - RSA-RTE: Model Compiler: create option to detect source dependencies automatically

- Preference "Detect source dependencies automatically" was added to the C++ preference page
- Missing sources are added automatically by the Model Compiler when this preference is on
- Added dependencies are printed into UML Development build console if "Report details about automatically added source elements" is enabled.
This was delivered in 10.3 2018.44.
In 10.3 2019.43 we have improved log messages printed for missing sources and added final message with overview of all added sources :
12:41:06 : INFO : Adding missing sources on-the-fly to "AutoSources/buildWithPrereq.tcjs" :
'platform:/resource/AutoSources/AutoSources.emx#_N3m2EOqZEemPka_TKJ4ApA' /* AutoSources::Capsule2 */,
'platform:/resource/AutoSources/AutoSources.emx#_RVZyoOqZEemPka_TKJ4ApA' /* AutoSources::Local_RENAMED */,
'platform:/resource/OtherProject1/OtherProject1.emx#_CWreoOqbEemPka_TKJ4ApA' /* OtherProject1::OtherClass2 */,
'platform:/resource/OtherProject1/OtherProject1.emx#_AQqNUOqbEemPka_TKJ4ApA' /* OtherProject1::OtherClass1 */,
'platform:/resource/OtherProject1/OtherProject1.emx#_D516gOqbEemPka_TKJ4ApA' /* OtherProject1::OtherClass3 */
It is printed in such a format that you can just copy sources from the log and paste into TCJS editor into the Code tab and then save updates in TCJS file on disk.


Model RealTime 10.3 2019.35

173174: Model RealTime TargetRTS Wizard greys out the "Target", "Libset", or "Config" check boxes

Now Libset and Target is possible to edit when they are duplicated. Target and Libset from provided by tool configurations are not editable by design.

173153: CQPAR00246765 ALL_OBJS_LIST support in Model compiler

Detection of common definition ALL_OBJS_LIST = @$(ALL_OBJS_LISTFILE) in libset.mk was broken in Model RealTime 10.3 and did not have any effect on generated link command (also object file names were generated without extension into *.olist file).
This problem has been fixed and if ALL_OBJS_LIST is defined as above in libset.mk and GNU_make is selected, then generated link command will contain a reference to objects list file @*.olist, objects listed in the file will have correct extensions.
Delivered in Model RealTime 10.3 2019.35

173152: CQPAR00245848 - Implement separate Installation Unit for MC so that it can be installed in the installation directory

Earlier, the installation process could break if the Eclipse installation was write protected.
Now the installation will proceed and complete.
Any files that would have been written to the Eclipse folder can also be found in the plugins folder.
This refers to the Model Compiler, Target RTS and libraries.
This was done in 10.3 2019.35

173151: CQPAR00245849 - Have MC generate environment variables

Model Compiler now automatically computes values for variables RSA_RT_HOME and RSA_RT_TOOLS (RTToolsVariable) which are used in generated Makefiles. Computation is based on (in precedence order):
1) RSA_RT_HOME env variable or JVM property
2) Model RealTime_INSTALL env variable or JVM property
3) Location of modelcompiler.jar file. This was done in 10.3 2019.35

173146: CQPAR00245782 - Model RealTime: Prerequisite build of C++ external library not working with env variables

Improved handling of Build folder property for External Library TCs when it points to CDT project used for makefiles generation (support environment variables in Build folder and CDT configuration name, added support for platform:/resource references and full paths, implemented additional checks, fixed bug related to having a project with a specific name in workspace and failing to generate makefiles for external CDT project). Improved logging and error reporting when Generate makefile for external CDT project is used.
Delivered in Model RealTime 10.3 2019.35

173117: Not possible to build another variant of the TC after a successful build of previous variant

Building another variant of a TC after successful build of previous Build Variant did not trigger regeneration of code. This could lead to not updating build settings in generated makefiles, and also to errors like this:
WARNING : Unable to find 'batch.mk' at <path>
ERROR : Build folder <path> does not exist
This problem has been fixed and detection of build variant change was added. Now, you will get information message like this:
INFO : File digest : Detected change in build variants configuration
and code will be regenerated.
Delivered in Model RealTime 10.3 2019.35

173086: Find connected ports doesn't show all connected ports

Fixed Find Connected Ports for derived ports.

172975: CQPAR00244279 - Please add fully qualified state names in .cpp-files

We have added a new option "Generate fully qualified state names" to TCJS Code Generation tab, in Code: "tc.genFullyQualifiedStateNames = true;", false by default.
When turned on, Model Compiler will generate fully qualified state names into the rtg_state_names[] array like this:
static const char * const rtg_state_names[] =
{ "<machine>"
, "State1"
, "State1::Nested01"
, "State1::Nested01::doWork"
, "State1::Nested02"
, "State1::Nested02::doWork" };
So, getCurrentStateString() function will return fully qualified state names.
Released as non-experimental in 2019.35

172963: Too many parent objects in project explorer tree for TCJS

New default preference was introduced to hide parents and prerequisites folder.
Parent transformations are shown on top, and prerequisites transformations are right under transformation file.

172918: CQPAR00243164 - Remaining issues with Model Compiler and "Compile data classes individually"

Now inclusions for .h and .cpp files are not generated in UnitName.cpp and in corresponding .cpp files for elements, if corresponding element properties of 'Generate File' option are deselected. This was done in 10.3 2019.11
Also fixed a bug that prevented inclusion of .cpp files to UnitName.cpp if generation omitted for some of them. This was done in 10.3 2019.35

172891: Model RealTime hangs after clicking "Visualize Existing ..."

Visualize Existing… now uses newer version of Select UML Element dialog that doesn't traverse all resources.


Model RealTime 10.3 2019.27

173105: CQPAR00245266 - Overriding inherited operations does not reuse the same parameter types, this causes validation errors

Now parent type correctly copied on operation redefinition. This was done in 10.3 2019.27

173019: Update ILMT Tags for 10.3 2019.27

Files are updated

172888: Duplicated list of enclosed transitions

Fixed problem with occasional duplicating of internal transitions list compartment.

171194: CQPAR00218536 - Model RealTime: Default operation return type to 'void'

Improved handling of operation return parameters. For operation without return parameter assuming "void" by default without any warnings. Also added an error message if more than one return type is specified:
13:47:41 : ERROR : 190701_Operation_return_void::Class1::OperationWithTwoReturn : Several return types are specified : [int, bool]
Fixed in Model RealTime 10.3 2019.27


Model RealTime 10.3 2019.23

173067: CQPAR00244744 - MC handles objects with duplicate names incorrectly

Added validation for generated source files. If different objects result in the same generated file path, a conflict will be reported like this:
10:52:57 : ERROR : Naming::Package1::Capsule1 : Conflict in generated file name : Naming__target/Capsule1.cpp
10:52:57 : ERROR : Naming::Package2::Capsule1 : Conflict in generated file name : Naming__target/Capsule1.cpp
10:52:57 : ERROR : C:\tmp_test\WS\Naming\build.tc : Conflict in generated file name : Naming__target/Capsule1.cpp
Conflicts can appear when there are objects with the same name in different UML packages, or when unitName conflicts with the name of one of the objects.
Added in Model RealTime 10.3 2019.23

173063: CQPAR00244737 - Model Compiler ignores the make command if the "Build Folder" setting in an External Library tcjs is empty

Model compiler now allows to run build for External Library TCs when Build folder setting is not specified. It is possible when Build command contains absolute paths and all commands are in the path. When Build folder is empty, model compiler will use output location (workspace folder or --out option) as working directory for build command execution.
This problem has been fixed in Model RealTime 10.3 2019.23

173061: CQPAR00244736 - Model Compiler changes "Build Folder" settings absolute paths to relative paths in an External Library tcjs

Model compiler does not change absolute paths to relative paths in "Build folder" setting for External library TCs.
This has been fixed in Model RealTime 10.3 2019.23

173060: CQPAR00244733 - Model Compiler cannot handle other drives than the C-drive in the "Build Folder" setting of an External Library tcjs

Model compiler used wrong build location for external library TC when its Build folder is on a different drive (D:).
This problem has been fixed in Model RealTime 10.3 2019.23

173050: CQPAR00244535 - Model debugger terminates on Suspend

Communication between Debugger and TargetRTS has been fixed in 10.3 2019.23

173039: CQPAR00244311 - Never show internal transition compartment with composite state symbols

The composite state icon is no longer shown for states that have an empty region, or a region that just contains internal transitions.
This is delivered in 10.3 2019.23

173018: Update ILMT Tags for 10.3 2019.23

Files are updated

172973: CQPAR00244312 - Please introduce an option to remember decision in the Code-to-Model sync dialogue

With new option changes automatically go to model in 2 sec from Code to model synchronization dialog. This was delivered in 10.3 2019.23

171547: RFE: C++11 support for in-class member initializes

Implemented support for in-class member initialization (C++11 feature) in the Model Compiler. Currently it supports brace and equal type.


Model RealTime 10.3 2019.19

173034: Null pointer exception when general tab in properties view is focused for an operation

Added NP-check when calculating some properties

173017: Update ILMT Tags for 10.3 2019.19

Files are updated

173011: CQPAR00244186 - "Compile data classes individually" result in an incorrect UnitName.cpp

Now "#pragma implementation" generation correctly handled for multiple classes with different settings for "Generate File". This was done in 10.3 2019.19

173008: CQPAR00244171 - Model compiler corrupts external library build command for clean target

Fixed generation of clean command into batch.mk for External TCs. For the clean command Model Compiler replaces a target for build with target "clean" and now it respects make options with arguments (like, -f FILE) and does not corrupt make command.
Fixed in Model RealTime 10.3 2019.19.

173001: CQPAR00244064 - Intermittent: "Starting make in folder: invalid" when CDT project removed

The cause of this issue is incorrect update of the digest file that keeps track of modification. Problem has been fixed. This was done in 10.3 2019.19

172972: Changed xmi:id when the profile version is updated on a model - more problems

Profile migration will keep xmi:id of existing stereotype applications for Marking models

172959: Model Fixup: Problems with 'Unnecessary regions removal'

Fixup was fixed to correctly handle situation when parent element of the state where region is null.

172926: Model Fixup: Problems with 'Unnecessary junction points removal'

Fixup was updated to correctly handle situation when parent element of junction point can't be obtained.

172874: git difftool (Model RealTime two-way compare) is displaying the state diagrams incorrectly.

Check for RT context has been added.

172830: 2684: Model Fixup unexpected behavior

- "Incorrect type reference" fixup was fixed to report status when there were no updates after its run in Analyze mode
- Documentation [Model RealTime documentation: Model Fixup Plugin.html](https://Model RealTime.hcldoc.com/help/index.jsp?topic=%2Fcom.ibm.xtools.rsarte.webdoc%2FUtilities%2FModel%2520Fixup%2520Plugin.html) was updated to describe format changes that are implicitly applied when running fixups
- "Setting elements for multiplicity labels on structure diagrams" fixup was moved down in the list of fixups on the wizard page, and its description now stays that it should be applied only when migrating from Rose RT


Model RealTime 10.3 2019.15

172995: CQPAR00244659 - java.io.IOException: Cannot run program "rtperl -S rtsetup.pl nmake"

ERROR : java.io.IOException: Cannot run program "rtperl -S rtsetup.pl nmake" appeared every second time you build a TC.
This problem has been fixed in Model RealTime 10.3 2019.15

172987: Unable to create .tc file in Model RealTime Photon 10.3

TC to TCJS conversion is no longer triggered when build server is not enabled.

172981: Please improve the error messages when Model Compiler Server fail to start

If the build server fails to start (at Model RealTime startup or later) a dialog is now shown. It shows the options passed to the build server and a link to the preference page where they can be changed (in case of any problems with them). The same thing happens when restarting it manually from the preference page.
We also added a new button "Server Log" which opens the build server log (useful to troubleshoot).

172969: Model Compiler / RTE Server does not pick up correct port ranges

Now exception appeared in Error log if custom port range was unavailble for some reason.

172964: Model RealTime Transition Properties not displayed correctly after changing transition type

Problem with focus is fixed.

172947: MC: Typedef generation problem

The reason of faulty typedef generation is a model corruption. New fixup "Duplicate IDs removal for template parameters" is introduced to detect and fix it.

172937: CQPAR00243783 - Environment variables are not resolved in External TCs 'build folder' field

Improved handling of External TC fields: now environment variables are resolved for External TCs Build folder. Also we are checking if Build folder exists before executing build.
Fixed in Model RealTime 10.3 2019.15

172932: Restarting MC server during idle time

Way to restart MC server on idle time has been implemented. New preference RealTime Development -> Build/Transformations -> Restart builder server on idle time (in mins) was added. If value is set to 0, build server will work as before. If value is set to integer above 0, it will be restarted if there were no build requests in the time period indicated in the text field of this preference.
Status that the build server is restarted is printed into the Error log as information message.

172930: CQPAR00243416 - Search fail with 'Provider "sourcecontrol" not installed' when files stored in RTC Source Control

Indexer and search now work with RTC-controlled projects.
This was done in version 10.3 2019.15

172893: Model RealTime Class not found in search results

Element references are added after all elements are processed

172890: The element is not selected in Project Explorer

Fixed Navigate > Project Explorer command for diagrams.

172887: Non-service port shown on border outside of class

Non-service ports are not shown on part border

172886: Model RealTime is removing wrong dependency

Fixed elements selection for actions in Relationships properties section.

172794: Update ILMT Tags for 10.3 2019.15

Files are updated


Model RealTime 10.3 2019.11

172918: CQPAR00243164 - Remaining issues with Model Compiler and "Compile data classes individually"

Now inclusions for .h and .cpp files are not generated in UnitName.cpp and in corresponding .cpp files for elements, if corresponding element properties of 'Generate File' option are deselected. This was done in 10.3 2019.11
Also fixed a bug that prevented inclusion of .cpp files to UnitName.cpp if generation omitted for some of them. This was done in 10.3 2019.35

172909: CQPAR00243080 - Cosmetic error in output when building External Library tcjs from command line

Printout for ExternalLibrary TCs has been improved and fixed. Now, when running only transformation for ExternalLibrary TC (without --build), console output ends with correct information about Build folder and Build command, for example:
15:19:53 : INFO : Run make in folder: C:\_Work\tmp_test\ExternalLib
15:19:53 : INFO : Make command: make -d
or
15:12:35 : INFO : Run make in folder: Build folder is not specified for ExternalLibrary TC
15:12:35 : INFO : Make command: not specified for ExternalLibrary TC, libraries must be precompiled
This was done in 10.3 2019.11

172867: Trigger search behaves different when state is selected or not

Fixed selected element calculation for search scope.

172810: CQPAR00242145 - Executable is not built when performing an incremental build where only makefile settings changed in tcjs

Added support for incremental build when only build settings are changed in TCJS. For example, if you change compile settings in tcjs and nothing else, then all object files will be recompiled. If you change link flags in tcjs then only executable will be rebuilt.
This was done in 10.3 2019.11

172793: Update ILMT Tags for 10.3 2019.11

Files are updated

172686: CQPAR00240601 - RSA-RTE: Code generator generates incorrect code from model

Code generator now generates correct code for variadic templates and polymorphic wrappers for function objects. This was delivered in 10.3 2019.11

164883: Further requests on the CODAN support

We have updated the approach on providing compiler include paths and symbols needed for Codan support for the generated target projects.
Now if the flag "Generate additional information for Code Analysis" is specified, Model RealTime will add Compiler command with flags to the toolchain settings and apply CDT GCC Build-in Compiler Settings provider on the generated target projects, so it will automatically compute compiler symbols and include paths.
Supported only for GNU_make type.

134899: Support for generic transformation configuration dependency chain

Now, build system for Model RealTime models can be implemented with the new approach using BuildVariants.
We have demonstrated on a sample model that BuildVariants can solve the problem with increasing amount of transformation configurations for growing number of different target platforms.


Model RealTime 10.3 2019.07

172961: Modification Inclusion paths in TCJS breaks line feed characters

Inclusion path parser was fixed for multiline values.

172856: CQPAR00242470 - NPE when External Library tcjs file with relative path in "Build folder" built using Model Compiler from command line

Problem has been fixed in a way that relative path set in the build folder is resolved in a workspace folder and in the target project folder. If it can't be found, the error message is printed.
This was done in 10.3 2019.07

172849: CQPAR00242434 - Model Compiler fails when "External Library" tcjs file has make command with flags

Fixed Model Compiler to correctly treat make command with arguments specified for property "Build command" (in External Library TCs) or "Make command" (in common TCs).
This was done in 10.3 2019.07

172843: Failed to create the part's controls

Diagrams showing broken associations can be opened.

172832: CQPAR00242333 - Not possible to navigate from Properties Dependency page if the dependecies are sorted

Navigation enabled for sorted dependencies table. This was done in 10.3 2019.07

172792: Update ILMT Tags for 10.3 2019.07

Files are updated

172750: CQPAR00241516 Model compiler NPE getOperation(ProtocolAnalyzer.java:302)

NPE is fixed indirectly by implementing support of relative paths in the .map file. This was done in 10.3 2019.07

172718: CQPAR00241363 Autoexpand --root path must be quoted

Model compiler help and documentation updated to clarify wildcard character (*) usage in paths for --root option. This was done in 10.3 2019.07

172717: Problem with incremental find for enclosed internal transitions

Incremental search ignores invisible elements.

172687: CQPAR00241090 - Model Compiler does not generate an include of RTStructures.h when TC/TCJS (internally) contain an "empty" prerequisite entry

Model Compiler has been fixed to correctly generate #include <RTStructures.h> when Prerequisites is an empty list and TC is inheriting (contains Parents). This was done in 10.3 2019.07

172685: CQPAR00241076 - Not possible to build several TC/TCJS files as one operation when using the Model Compiler

Now it's possible to build several transformations. Build will be done one by one. This was done in 10.3 2019.07

163301: CQPAR00210217 - Have MC detect licensep2.opt automatically

Now, if license argument is not defined, Model compiler will try to get license from licensep2.opt, and its location it will get from config.ini file. This was done in 10.3 2019.07

159568: CQPAR00206673 - "Compile data classes individually" option does not honor "Generate files := None" option

Now includes are not generated, if corresponding source files (header, implementation, or both) are not generated. This was done in 10.3 2019.07

131794: CQPAR00141348 - DUPLICATING A CAPSULE CREATE 'SHADOW' ENTITIES THAT CORRUPT THEMODEL

Duplicate command has been disabled for UML RT Capsules. This was done in 10.3 2019.07


Model RealTime 10.3 2019.03

172802: CQPAR00242090 - The Model Compiler documentation needs clarifications on Model Compiler Variables

Documentation of the Model Compiler has been updated to contain correct information about RT variables and their usage in the command line tool.
[Model RealTime documentation: Model RealTime Model Compiler.pdf](https://Model RealTime.hcldoc.com/help/topic/com.ibm.xtools.rsarte.webdoc/pdf/ModelRealTime%20Model%20Compiler.pdf)
This was done in 10.3 2019.03

172784: Update ILMT Tags for 10.3 2019.03

Files are updated

172733: Project Importer keyboard shortcuts improvements

Now it is possible to assign key bindings for the External Projects Import view commands. Also it is possible to filter basing on projects paths.

172732: CQPAR00238712 - RSA-RTE: Change layout of C++ General tab for typedef

Property 'implementation type' has been moved to position right after 'kind'.
Also if kind is typedef for classes and interfaces, and implementation type is not empty, it will be shown in PE and in properties header.
This was done in 10.3 2019.03

172725: CQPAR00241365 - The MC option exportModelMapping documented but only supposed for internal usage

Option to export model mapping information ("--exportModelMapping") was removed from the Model Compiler help.
This was done in 10.3 2019.03

172723: CQPAR00241364 - Model Compiler gives a NPE when building an External Library and using the exportModelMapping

- Error handling has been improved, and now it reports error in case if project map file can't be created. However, for internal debugging we keep stacktrace data in the output.
- "--exportModelMapiing" is an internal preference and not supposed to be used by end users, this option was removed from help.
This was done in 10.3 2019.03

172719: CQPAR00241361 - Model Compiler gives a NPE when building an External Library and possibly missing some arguments

Model Compiler has been improved to validate values of external library transformation configurations, and produce warning or error messages in case if build can't be successfully completed.
This was done in 10.3 2019.03

172710: CQPAR00238618 - RSA-RTE: Trailing whitespice in port registration override causes SAP-SPP ports not being connected

Now trailing spaces are automatically removed from port 'registration override' property.
This was done in 10.3 2019.03

172705: CQPAR00238713 - RSA-RTE: Optimize C++ TargetRTS General tab in Properties view

Now "Generate Descriptor" property is on top of C++ Target RTS properties tab.
This was done in 10.3 2019.03

172702: Model Compiler Wrapper

Now rsa_rt/tools on Linux should have modelcompiler.sh and set execution permissions.
Now rsa_rt/tools on Windows should have modelcompiler.bat
Installation in readonly eclipse folder produce no exception.

172694: WRAT model compiler issues

Model compiler was updated not to generate quotes around objects from "User object files" section

172689: CQPAR00241098 - MC without arguments

Now Model Compiler will show help message in case of:
/?
/h
-h
-help
--help
no arguments
This was done in 10.3 2019.03

172682: Add option to not initialize mc server at startup

New preference to control initialization of Model Compiler server has been added to the RealTime Development/ Build/Transformations page. By default, initilizatin is enabled. If user disables it - model compiler process won't be started and all build operations will be disabled.

172666: Blinking transition

Fixed selection highlighting to avoid blinking.

172663: The first click on function name in Properties does not select the function in Project Explorer

Properties form now doesn't scroll on focus gain so link selection is properly handled.

172655: CQPAR00240875 Problem using: rtperl -S rtsetup.pl $defaultMakeCommand

Now, RTS_HOME variable generated into Makefiles is resolved and does not contain any references to variables
This was done in 10.3 2019.03

172621: TC editor inner window enormously stretched (Model RealTime 10.3)

TCJS header is changed so it does not contain transformation name. That makes the whole form layout correct on linux.

172493: CQPAR00241387 - "Convert to JavaScript" on several TC have problems with converting same similar

Now conversion executed in non-parallel way for avoid race condition.
This was done in 10.3 2019.03


Model RealTime 10.3 2018.48

172693: Model compiler usage causing memory leaks

Analysis of memory allocations during the builds from Model RealTime was made. Based on the result, data caching and work with loaded resources have been improved.

172644: Search stops navigating to element in Project Explorer

Fixed stale update for Project Explorer that caused navigation problems.

172637: Model RealTime cannot save changes to file. (Save button is not working)

Fixed code editor issue with saving guard condition having its transition as constrained element.

172628: Project importer to support additional syntax

Support for projects map file with Model Compiler compatible syntax is implemented.

172620: Add 'project importer view'

Implemented External Projects view

172505: Update ILMT Tags for 10.2+10.3 2018.48

Files are updated


Model RealTime 10.3 2018.44

172437: Delete port option is disabled in context menu, but can be deleted via keyboard key

Enabled 'Delete from Model' menu item for Port symbols

172417: RFE Compartment for Internal Transitions should support columns

Internal transitions are displayed in several columns to make compartment more compact.
It is possible to place internal transitions compartment to the right of the main diagram frame to get more compact display for vertically oriented diagrams.

172392: CQPAR00238885 - Connectors between parts is not WYSIWYG

Connection feedback routing has been fixed so it matches actual connection shape. This was delivered in 10.3 2018.44

172370: CQPAR00238740 - RSA-RTE: Model Compiler: create option to detect source dependencies automatically

- Preference "Detect source dependencies automatically" was added to the C++ preference page
- Missing sources are added automatically by the Model Compiler when this preference is on
- Added dependencies are printed into UML Development build console if "Report details about automatically added source elements" is enabled.
This was delivered in 10.3 2018.44.
In 10.3 2019.43 we have improved log messages printed for missing sources and added final message with overview of all added sources :
12:41:06 : INFO : Adding missing sources on-the-fly to "AutoSources/buildWithPrereq.tcjs" :
'platform:/resource/AutoSources/AutoSources.emx#_N3m2EOqZEemPka_TKJ4ApA' /* AutoSources::Capsule2 */,
'platform:/resource/AutoSources/AutoSources.emx#_RVZyoOqZEemPka_TKJ4ApA' /* AutoSources::Local_RENAMED */,
'platform:/resource/OtherProject1/OtherProject1.emx#_CWreoOqbEemPka_TKJ4ApA' /* OtherProject1::OtherClass2 */,
'platform:/resource/OtherProject1/OtherProject1.emx#_AQqNUOqbEemPka_TKJ4ApA' /* OtherProject1::OtherClass1 */,
'platform:/resource/OtherProject1/OtherProject1.emx#_D516gOqbEemPka_TKJ4ApA' /* OtherProject1::OtherClass3 */
It is printed in such a format that you can just copy sources from the log and paste into TCJS editor into the Code tab and then save updates in TCJS file on disk.

172323: Query->Impact Analysis generates files with spaces

All Traceability commands are now hidden for Capsule Development viewpoint.

172294: Update ILMT Tags for 10.2+10.3 2018.44

Files are updated

151165: Context Menu Transform->New Configuration is shown on all items in the project explorer

Menu contribution Transform was removed from PE context menu.


Model RealTime 10.3 2018.40

172504: Add ILMT Tags for 10.3 2018.40

Files are added

171991: CQPAR00186758 - RSA-RTE: Drawing of simple arrows between states improvement

Fixed transition creation glitches, such as:
- incorrect feedback outline
- incorrect placement on state symbol
- incorrect placement on frame symbol
- incorrect routing of transitions when scrolling view.
This was delivered in 10.2 2018.36

137393: CQPAR00178190 - BORDER TRANSITION MOVES TO THE LEFT BORDER WHEN CREATED

Fixed routing of transitions directed from sub-state diagram frame. This was done in 10.2 2018.33
Also fixed routing of lines when scrolling viewport.