Model RealTime 11.3 2023.49

176463: Improve dependency injection for incarnation of optional capsule parts

The dependency injection service of the TargetRTS (as implemented in RTInjector) was improved. It's no longer necessary to register create functions for optional capsule parts which may be incarnated by a sub capsule of the capsule that types the capsule part. Now, if no create function is registered for a capsule part that gets incarnated, RTInjector will not attempt to create an instance of the capsule based on the static type of the capsule part. Instead it will fallback to creating the capsule instance in the default way. This improvement means that it's now only necessary to register create functions for those capsule parts where you want to override the default behavior of creating capsule instances.

176391: Enhance Properties view to select substitutable types for optional abstract capsule parts

When isSubstitutable property is checked for a capsule part, SET button can be used to specify which specialized that inherits from the abstract capsule will be used by the capsulePart to incarnate at run-time.
Clicking on the Set button opens a dialog box containing a list of all capsules that inherit from the abstract capsule.
Checkboxes are provided against each subcapsule which can be used to create/delete dependencies with <create> stereotype.
These dependencies can be used to navigate to the specialized capsule.
Note: Unbound capsules containing a dependency will be displayed as "Unresolved Capsule" in the dialog box.

176350: In Code-to-Model Sync, ANT task from command-line hangs

Now code to model synchronization Ant task no longer requires a running model compiler server, thus avoids hanging when started from command line. Note, that for command line execution sync is performed only for the specified TC and not for its prerequisites. An Ant task attribute mapFile can be used instead of a concrete TC to sync all projects including prerequisites. For the command line code generation scenario model compiler can automatically generate a mapFile for syncing with additional option --syncMap <full/path/to/mapFile.map>

176214: Automation for Code to model synchronization should accept absolute TC path

Now code to model synchronization Ant task supports absolute path for TC file specified as file:/ URI in transformConfig argument.

176098: Editor tab text should be bold when it has content in it for all code editor

Code location being displayed in each code snippet header in All Code Editor.
1. If a code snippet is empty, only the code snippet name is displayed.
2. If a code snippet is non-empty, and no generated file exists or has been loaded, then "(code from the model)" displayed after the code snippet name.
3. If a code snippet is non-empty, and a generated file exists and has been loaded, then "(code from the file <filename>)" displayed after the code snippet name.