The new release Model RealTime 12.1.1 is now available. Let's take a look at some of the many improvements in this release.
noexcept
specifierOlder versions of C++ allowed for so called dynamic exception specifications, where functions could explicitly list the exceptions they may throw. This has been supported in Model RealTime models since a long time by means of the "Declare Exceptions" property and so called exception parameters. However, modern versions of C++ have deprecated dynamic exception specifications in favour of the noexcept
specifier which makes it possible to declare a function as non-throwing. By knowing that a function cannot throw any exceptions, compilers are able to better optimize their implementations. It's now possible to specify that a UML operation is non-throwing by means of a new property "noexcept". Use of this feature requires C++ 11 or later.
The support for Art files in Model RealTime, which was previously available as an experimental feature, has been significantly improved in this release and is no longer experimental. A much bigger subset of the Art language is now supported:
Furthermore, it's no longer necessary to manually build the used Art files into a library in Code RealTime. Instead the Art Compiler will be automatically invoked from the generated make file, and you just need to tell Model RealTime about the location where Code RealTime is installed.
On the Utilities page you can now find a plugin which can export (parts of) your Model RealTime models to Art files. This allows to reuse elements from your existing models in applications that you develop with Code RealTime. The first version of the Art Exporter focuses on exporting data types (classes, structs, typedefs etc). Later versions will support full migration of applications from Model RealTime to Code RealTime. Make sure to visit the Utilities page frequently to stay tuned about new versions of the Art Exporter that we plan to release frequently during next year.
Mattias Mohlin
Architect for HCL Model RealTime