Model RealTime 11.0 2020.33

August 25, 2020

The new release Model RealTime 11 2020.33 is now available with several improvements in various areas. Let's take a look at some of these improvements.

Organize Sources

The Organize Sources button is now available in the TC editor again. It can help you to set-up the Sources list of a TC in an optimal way so that the minimal number of model elements get transformed and built by the TC. The button opens a dialog which will analyze references in the model and suggest elements to add or remove from the Sources list.

Context Sensitive Help for Properties

Context sensitive help is now available for the Properties view. Click the new Help button in the Properties view toolbar when you want to learn about the meaning of the many properties that can be edited in the Properties view.

Using CDATA in Model Files

When Model RealTime model files are viewed outside of Model RealTime they appear as XML documents where code and documentation texts can be difficult to read. This is because the escaping of certain characters that is mandated by XML - characters that are commonly used in C++ code ('<', '>', '"' etc). In this release we have introduced a new preference Modeling - Use CDATA when saving model files which can be set in order to store code and documentation text in XML CDATA sections. This means such texts can be stored as is, without any character escaping, which makes them much easier to read. Here is an example:

TC Editor Usability Improvements

It's now much more pleasant to edit .tcjs files textually using the Code tab of the TC editor. We have implemented marking of occurrences when placing the caret on a name. All occurrences of that name are then highlighted in the editor. We have also implemented content assist, that saves you from a lot of typing. It is automatically invoked when you type certain characters ('.' and '=') and you can also invoke it manually by pressing Ctrl + Space.

Further steps were taken on our journey to fully support C++ 11. In this release we focused on the C++ 11 keyword 'override'. The user interface now assists you to set-up this property correctly when redefining operations, and the model compiler uses 'override' for TargetRTS functions that are overridden in the generated code. Note that this change means that it's now necessary to use a compiler that supports C++ 11 for compiling generated code. However, you can still generate code for older compilers by using a new preference RealTime Development - Build/Transformation - C++ - C++ code standard.

I hope you will enjoy this new release of HCL Model RealTime!


Mattias Mohlin
Architect for HCL Model RealTime