Model RealTime 11.2 2022.21

May 31, 2022

IBM is happy to announce the next major version of Model RealTime – the Eclipse-based modeling and development environment for creating stateful, event-driven real-time applications. Model RealTime 11.2 runs on Eclipse 2021.06 which contains several improvements compared to the previous Eclipse 2020.06 which was used for Model RealTime 11.1:

For improvements in the Eclipse platform see:

For improvements in the Eclipse C++ tooling (CDT) see:

For improvements in the Eclipse Git integration (EGit) see:

Note the following differences in Model RealTime 11.2 compared with 11.1:

  1. You need a Java 11 JRE for running Model RealTime 11.2. Java 8 is no longer supported.
  2. NodePlus is no longer bundled with Model RealTime, but can instead be downloaded and installed separately afterwards. This has significantly reduced the size of the Model RealTime update site. Note that the "Unit Testing of Capsules" feature no longer requires that NodePlus is installed. It now also supports other JavaScript development environments, for example Visual Studio Code.

Together with this first version of Model RealTime 11.2 we also deliver an updated version of Model RealTime 11.1, which is planned to be the last release of 11.1. It contains several bug fixes and enhancements, all of which are also included in 11.2. Let’s take a quick look at these enhancements:

C++ language standard improvements

The C++ language standard can now also be set in a transformation configuration. This makes it possible to override the default C++ code standard specified in the workspace when building a certain transformation configuration.

Marking elements as nodiscard

Model RealTime now supports a new property for setting the nodiscard C++ attribute on operations and on operation return types. Thereby we can tell the compiler to generate an error if a call to such an operation discards the return value.

Using the Nodiscard property requires a C++ 17 compiler, and specifying a message for it requires C++ 20.

Automatic rename of model files

It’s now possible to configure Model RealTime so that it automatically renames a model file when its root element gets renamed. This helps in keeping consistency in file names when a model is refactored.

Support for std::chrono when setting timers

The TargetRTS now allows usage of types from the std::chrono library when setting timers. This simplifies integration with other C++ code that uses std::chrono, and also makes the code more readable since it’s no longer necessary to specify fractions of seconds using nanoseconds. In the example below a timer is set to expire in 5.5 seconds:

Before:

timer.informIn(RTTimespec(5, 500000000));

Now:

timer.informIn(5500ms);


We hope you will enjoy using IBM Model RealTime 11.2 as much as we enjoyed creating it.

Mattias Mohlin
Architect for IBM Model RealTime