Today we are happy to announce the availabilty of the new Model RealTime 11 release, version 2020.39. There are several improvements and new features in this release. Let's have a look at some of them.
New commands in the "Add UML" context menu make it very easy to create "special operations" for classes. The commands are placed in a new "Special Operations" sub menu and create different kinds of constructors (default, copy, move) and destructors with a single click. There is also a command for creating getter/setter operations for selected class or capsule attributes. You can use this when you want to have the getter/setter operations present in the model, rather than only in the generated C++ code.
GCC compilers can generate dependency files when compiling a C++ file, listing all external files (typically header files) which the C++ file depends on. It's now possible to let the model compiler utilize this feature when it generates a recursive make file, so that the make file will include the dependency file that is generated by the compiler. Thereby make will be able to accurately determine what parts of the generated code that need to be recompiled when something changes in these external files. Enabling this feature just requires adding a couple of lines in the default.mk
and libset.mk
files in your TargetRTS. Refer to slide 24 in the What's New presentation for more details.
In this release a few more steps have been taken on the journey to fully support C++ 11.
nullptr
constant to represent null pointers. It was also modernized to use the override
keyword on redefined functions, and several C-style casts were removed.Thanks to a new global preference (Modeling - Profiles - Property Sets - Defaults) you can now change default values for "Property Set" properties without having to modify all models that need to use the new default values. This can be a significant time saver if you have lots of models that need to use a certain custom default value consistently. An example of such a default value is the name of getter/setter operations which the model compiler can generate automatically for attributes.
Mattias Mohlin
Architect for IBM Model RealTime