Changes in Model RealTime 12.1

Model RealTime 12.1.1

176838: Deliver Art file support feature as non-experimental

The Art file support is no longer experimental. A large subset of the Art language is supported including the use of Art protocols as types of UML-RT ports or as parent protocols to inherit from. Art events with user-defined parameter types are also supported. Art capsules can be used as types of UML-RT parts and ports of Art capsules can be connected to UML-RT ports. The Art compiler is now automatically invoked from the generated make file.

176825: No longer possible to copy/paste to other applications from v12.0

It is now possible to copy and paste diagram elements from Model RealTime to graphical and rich text editors in other applications.

176813: Make generated codecompliant with Clang-tidy misc-use-anonymous-namespace checker

Code generation has been improved to be compliant with misc-use-anonymous-namespace Clang-Tidy check.
The compliance is achieved by generating a NOLINT suppression comment for each static non-member function that is defined only in the implementation file.
Here are examples of such functions related type and field descriptors: rtg_TYPE_init, rtg_TYPE_copy, rtg_TYPE_destroy, rtg_TYPE_encode, rtg_TYPE_decode and to thread mapping: _rtg_createThreads, _rtg_deleteThreads, _rtg_mapLogicalThreads .

176801: Art Exporter

New export wizard has been added to allow exporting models to Art files used by DevOps Code RealTime. It must installed from a separate repository available under Utilities chapter in Model RealTime Users' Guide: https://model-realtime…ies%2FArt+Exporter.html

176641: TCJS source tab - sorting and multiple columns

Transformation Configuration editor now shows Resource and Name columns containing resource URIs and unqualified names of source elements. Using sorting on these columns makes finding specific source elements easier.

173846: Redesign support for exceptions in the model compiler

Properties View now supports adding noexcept specifier, which makes it possible to declare functions as non-throwing. The noexcept property becomes active only when the Declare Exceptions checkbox is selected.
Exception declaration is determined by the value of the noexcept expression property in the following manner:
1. Not set: The generated code will use dynamic exceptions (legacy behavior).
2. Set to an empty string (after trimming whitespaces): The function is declared as noexcept (non-throwing).
3. Set to a valid expression: The function is declared as noexcept(EXPRESSION), with the expression reflecting the user-provided value
Note: noexcept specifier should be only used with C++11 or greater.


Model RealTime 12.1.0

176750: 12.0.2: Error: Program "<default>" not found in PATH

Error: Program "<default>" not found in PATH has been fixed.
This error could appear when building generated CDT target project, and transformation configuration make command is defined with rtperl, for example,
tc.compilationMakeCommand = 'rtperl -S rtsetup.pl $defaultMakeCommand';
Now make command is correctly set on the generated CDT project and rtperl by default points to installation location under ${RSA_RT_HOME}/tools.

176645: Introduce TargetRTS configuration macros for the constants that control the freeList

Introduced new TargetRTS configuration macros for the constants that control the freeList: MIN_FREE_LIST_SIZE, MAX_FREE_LIST_SIZE, RTMESSAGE_BLOCK_SIZE.

176640: RTConfig breaks code that has any variable/equivalent named 'override'

When using older C++ compilers to make the modern code compatible Model RealTime defines "override" as an empty string, this can cause problems if override was used as a name. To prevent the problems the transformation configurations should be modified in a way described in the following technotes.
https://www.ibm.com/support/pages/node/7166847
https://support.hcltech…parm_article=KB0115787

176621: Adopt new HCL licensing technology

This version of HCL DevOps Model RealTime is delivered through My HCLSoftware (MHS) portal: https://my.hcltechsw.com and only supports new licensing implementation available in MHS Cloud License Servers and HCL Local License Servers from version 5.0.

176616: When creating a new trace, complete trace setting from previous trace is used

It is now possible to have fully isolated trace sessions, where settings for one trace session do not affect other trace sessions. It is accomplished by means of a "trace manager" that computes a unified set of trace settings from all active sessions.