Today we deliver an update of RSARTE 10.1 following the completion of sprint 2017.07. In addition to bug fixes and general improvements, the following new features are worth highlighting (references to the updated What's New presentation in brackets):
- Merging text is now easier thanks to a new single-view text merge editor which can be used instead of the old "sub merge" feature. This is currently an experimental feature. 
- The support for external projects was made more flexible thanks to support for environment variables in the map file. There is also a new search scope "Workspace and External Projects" which can be used for searching both in the workspace and in all external projects. 
- A new preference was introduced for automatically loading models of imported external projects. It is recommended to have it enabled so that navigation from search result items will be quick. 
- We continued to improve the model compiler, both the user interface and the tool itself. Now we support the "save before build" preference, and we also made an effort to unify preferences for the old and new C++ code generator. [23, 24]
- Readability of generated C++ code was improved by including a comment with the qualified name of states. This works for both capsules and passive class state machines. 
The holiday season is over and the RSARTE development team is back at work. Today we deliver a new version of RSARTE 10.1 called 2017.04. It contains several new features and bug fixes and is the latest and recommended version of RSARTE. Note that RSARTE 10 is now in maintenance mode and we do not plan to deliver any more updates for it (unless a critical problem is found, of course).
Refer to the updated What's New presentation to learn about all new enhancements in this release. Below is a short summary (references to the What's New presentation within brackets):
- Support for external projects. These are projects that you currently don't have in your workspace, but that others in your team may have in theirs. It's now possible to search in those projects, and if you find something interesting, you can import the external projects into your workspace. There is also a new Import wizard for such projects. When an external project is imported, its dependent projects are automatically imported too. This helps you keep a consistent set of projects in your workspace, without having to keep all project dependencies in mind. [18-19]
- Several new useful navigation commands in the Project Explorer, Properties view and in diagrams. [13-17]
- Improved editing of literals and parameters in the Properties view. 
- Improved layout of some property pages. 
- Continued progress with the model compiler. Now, this is the recommended way of building RSARTE models in batch builds. However, we still have some more work in the user interface of this feature, and it's therefore still marked as experimental. 
The last sprint in 2016 is done and the holiday season is getting closer. But before spending Christmas time with family and friends we in the development team have done a last 2016 RSARTE drop, including updates of both the Eclipse Mars compatible 10.0 version and the Neon compatible 10.1. So, the latest and greatest versions of RSARTE are now:
- 10.0 2016.50 for Eclipse Mars
- 10.1 2016.50 for Eclipse Neon
This drop includes improvements in the new search feature including:
- automatic loading of search matches on selection in the search view,
- improved "Modeling References" command, and
- other miscellaneous bug fixes and improvements.
We have also continued the work on making the user interface easier to work with for C/C++ development using the Capsule Development viewpoint. In this sprint mainly focusing on the properties view, removing items not relevant for code generation and renaming items using C++ terminology.
Our still experimental model compiler effort has continued with more testing and improvements in the user interface integration. This is now getting closer to product quality and we encourage testing of it to make sure that it will work for your applications.
In this drop the new features are available in both the Eclipse Mars and Eclipse Neon streams, but moving forward in 2017 we will focus the effort on the 10.1 Eclipse Neon version of RSARTE.
As usual the What's New presentations are updated with all new features. See the release pages for 10.0 and 10.1 for details.
Merry Christmas and Happy New Year!
The RSARTE Development Team
Today we release two new versions of RSARTE:
- 10.0 2016.47 for Eclipse Mars
- 10.1 2016.47 for Eclipse Neon
This is the first release of 10.1 that is not experimental, and we therefore recommend it as the latest and greatest RSARTE release. However, except for the Eclipse version there are no other differences between these releases.
The new search feature is now also for the first time available as a non-experimental feature, and the old search implementation has been removed. However, all old search commands, like Find/Replace, Model Search, Find NamedElement etc, are still available but have been updated to use the new search implementation. As part of this work, the new search implementation now also supports searching in working sets. Another improvement is increased flexibility about where to store the search index. It is now by default stored in the workspace metadata, but can if wanted be stored next to the projects, or in a custom location. [page 59-60]
We also did some usability improvements in this release:
- The header text for the Properties view is now more compact by not showing the full qualifier for the name. Also, RT specific stereotypes are hidden and shown as proper element types instead. [page 34]
- The "Add UML" context menu has been cleaned up, and many items were removed for creating elements that are not of interest when designing RT models. [page 30]
We also continued to make progress in the new model compiler, for example by improving the performance of its UI integration.
To read more about the improvements, see the updated What's New presentation. References to pages in this presentation are shown in brackets above.
Another sprint has passed and it's time to summarize the improvements that we deliver today in the new version RSARTE 10 2016.44. References to pages in the updated What's New presentation are included in brackets below:
- The default value of attributes and parameters, and the value of enumeration literals, is no longer shown in the Project Explorer using a separate node. Instead the value appears after an equal sign in the same node that shows the name of the element. [page 26 and 27]
- The Project Explorer representation of a passive class with a statemachine has become more compact by no longer showing the EventContainer node. [page 28]
- RT specific stereotypes, such as «capsule» and «protocol», are no longer shown in the Project Explorer. This makes node labels shorter which means less horizontal scrolling. It also means that you now can navigate to such elements by typing the first character of their names (just like navigation to other model elements work in the Project Explorer). [page 29]
- The names of many editing commands have been improved so that the label of the Undo/Redo command in the Edit menu now more accurately describes what will happen when a change is undone or redone. [page 35]
- Our new search implementation now supports searching inside a selected element only. We also did many other usability, quality and performance improvements in this new feature (which in this release still is experimental). [page 57 and 58]
- We continued to improve the Model Compiler, our new tool for building models from the command-line. The integration with the RSARTE user interface was improved. For example, navigation into generated code now works, and markers in the Problems view appears for compilation problems. Note that the Model Compiler is still an experimental feature.
We also took our next version, RSARTE 10.1, one step closer to production quality by performing extensive testing of it. No new problems were discovered and our goal is to make this release non-experimental after the next sprint (end of November).
Modified on by MattiasMohlin
Today the RSARTE development team releases a new version of RSARTE 10. In the past sprint we have implemented the following improvements (references to pages in the updated What's New presentation are included in brackets):
- Our new search implementation now supports Replace. We also did many other usability and quality improvements in this experimental feature. 
- Semantic search commands such as "Find Triggering Events" and "Find Triggers" are now better integrated with the Code and Properties views, so that these views are updated when you select items in the Search view. 
- You can now hover the cursor over a transition in a state chart diagram to see the events which may trigger the transition. 
- We have reordered the Documentation tab in the Properties view so that it becomes the primary tab when selecting a comment. This makes it possible to immediately start editing the comment text without having to switch to another tab. 
- The Undo/Redo capability was improved by raising the command history size from 20 to 200 for modeling commands. We also wrote a note in the documentation to explain how Undo/Redo works in Eclipse. 
- The Model Compiler, our new tool for building models from the command-line, now supports context library builds. It also has a better integration with the RSARTE user interface. Output is printed to the UML Development console and transformation errors and warnings show up in the Problems view. Note that the Model Compiler is still an experimental feature. 
In this sprint we have also completed an initial version of RSARTE 10.1 which supports Eclipse Neon (4.6.1). There is still more work to be done here, but already now you can install it and try it out. Just remember to switch off the code analysis feature of CDT (Codan) since it is not yet supported by RSARTE. The RSARTE 10.1 release is experimental and we would appreciate to hear your feedback about it.
Our sprint 2016.38 is completed and the result is an updated version of RSARTE 10 which now is available for download. In addition to bug fixing we have spent the sprint implementing the following exciting new features (references to pages in the updated What's New presentation are included in brackets):
• The RSARTE EGit integration now supports EGit 4.4.1. The installation was also changed so that EGit now is installed together with RSARTE. [page 2]
• The Model Compiler has been integrated with the RSARTE user interface, which means it's now possible to test it more easily. [page 45]
• It's no longer necessary to have a license server for running RSARTE. We have implemented support for "authorized user" licensing based on license keys as an alternative to floating licenses. [page 52]
• When you build a TC where the Sources list is inherited, the "Missing Source Elements" dialog now adds missing sources to the TC where the Sources list is defined, rather than to the TC that is built. [page 38]
• It's now possible to distinguish the different kinds of values for TC settings by a visual indication in the TC editor. [page 34]
• A new command "Delete Value" is now provided by the TC editor for deleting the value of a TC setting. It replaces the old "Revert to Inherited Value" command. [page 36]
• You can now navigate into the TOP state by double-clicking on the state machine in the Project Explorer, when using the preference "Let Open State Machine Diagram go inside TOP states automatically". [page 33]
• It's now easier to navigate into composite structure and activity diagrams by double-clicking on symbols. Navigation now works even if you happen to double-click on the name label. [page 22]
It's also worth mentioning that we have started in this sprint to work on version 10.1 of RSARTE. This version will be based on Eclipse Neon and CDT 9, and our goal is to have it ready before the end of the year.
A new version of RSARTE 10 is now available, following the completion of sprint 2016.35. As usual the release contains several new features, bug fixes and other improvements.
The following features are new in this release (references to pages in the updated What's New presentation are included in brackets):
- A new command-line tool, known as the Model Compiler, is available in a first experimental version. It allows you to build RSARTE models outside the RSARTE development environment using make files which can drive the entire build process, including generation of C++ code from the model. [page 39]
- The Compare/Merge editor now provides better navigation possibilities to elements that are related to a changed element. For example, it is possible to navigate to the target element of a changed dependency. [page 19]
- A more C++ like syntax is now supported for defining operations. [page 27]
- Printouts in the Console view helps you resolve problems with broken inheritance and redefinition references which cause implicit deletions of certain model elements when loading a model. [page 40]
- The new Search implementation (still experimental) now allows you to limit the search scope to a certain project. There were also improvements related to searching for references to library elements, and usability improvements in the proposals popup. [page 44]
- Two new navigation commands are now available in the TC editor for navigating to inherited values and the parent TC. These are useful when working with inherited TCs. [page 31]
- The usability of the "Model Changed" dialog has been improved. [page 38]
- A minimal version of the Transformation Authoring framework is now included in the installation. It allows transform plugins developed in earlier versions to build and run in RSARTE 10. [page 11]
Modified on by MattiasMohlin
Sprint 2016.32 is now over, and the RSARTE development team has delivered an updated version of RSARTE 10.
The following features are new in this release (references to pages in the updated What's New presentation are included in brackets):
- Incremental textual search (Ctrl+J) is now supported in Browse diagrams. [page 18]
- A new preference was added for controlling how to order tabs in the Code view. It is now possible to use a fixed order that does not depend on if code snippets are empty or not. [page 25]
- The Code view now hides code snippets that are irrelevent for the currently selected element, such as the constructor initializer for a non-constructor operation. [page 26]
- The Rename refactoring dialog now allows to set an active TC prior to running the refactoring. [page 32]
- It is now possible to delete a TC without affecting other TCs which reference that TC (for example prerequisite TCs). [page 33]
- The new Search feature, which still is experimental, now provides a popup with search string proposals, based on previously used searches, and strings that occur frequently in the model. [page 37]
It also supports a column Long Name in the Search view, which can be used for filtering the search result according to the location of matching elements.
Modified on by andersek
The deliveries from sprint 2016.29 are now available. This sprint we will only ship an update of our RSARTE 10 stream. The 9.1.2 CP1 stream is in maintenance mode and during this sprint we did not receive any critical items that had to be fixed. Instead we have included an update (version 5.1) of our Model Fixup utility. The main improvement in this area is support for RSARTE 10 and Eclipse Mars. See the Model Fixup page for more information.
In the RSARTE 10 drop we have included a number of usability enhancements as well as a number of fixes in the (still experimental) new search feature.
The usability improvements include:
- A compare/merge user interface improvement where the code editor area is increased to show more of the code snippets.
- Some fixes in the project explorer where now more useful keywords are shown for elements in activity diagrams.
- An improvement in the property pages where the sort order for the signature column now is preserved when you switch between model elements.
- A change in the behaviour when modifying the type of e.g. an attribute. We now no longer loose the default value when the type is changed.
- Navigation from a state symbol to sub state machine diagrams has been improved for the fairly common case where there is inheritance between state machines.
You can find more details about the fixes in the WhatsNew presentation. See pages 16, 20, 21, 22 and 23.
In the search area we have also in this sprint focussed on the key search work flow: Searching, investigating the search results and navigating to found matches. The improvements in this area includes:
- The text for matching references has been improved, now showing more information. For example we now show the name of an attribute that has a type that matches the search query
- The navigation menu has been extended, allowing more direct navigation to various elements related to the search match.
- It is now possible to copy the search result and paste e.g. in a spreadsheet
- Highlighting of search results in code editor is now supported
- We now have support for finding matches in native type references.
- The association between matches in code snippets and model elements has been improved. Previously the matches were associated only with opaque elements, now they are associated with the container, for example an operation.
Modified on by andersek
Sprint 2016.26 is now finished and the results are available for download. As usual we deliver both updated 9.1.2 CP1 and 10.0 versions and both of these versions are recommended for production use. Most of the work is aimed at improving the RSARTE 10 version, the 9.1.2 CP1 stream is mainly for maintenance and we only fix urgent problems in this stream
In the new (still experimental) search feature we have in this sprint focused on performance improvements and the usability and stability of the core work flow: Search, explore search results and navigate to found matches. The result is available in the RSARTE 10 drop.
In the build and code generation area we have fixed an issue with Lint warnings that was triggered by an equality operator in generated code. We have also removed a validation check for lower bound port cardinality that did not make sense for UML-RT style models. So now less warnings when running the RSARTE code generator!
The project explorer has also been improved in the new drop: We now have an improved visualization of multiplicity values and a problem with unnecessary instance specification nodes have been resolved.
We also got some feedback on the installation instructions when using the Eclipse installer to script installation of RSARTE. As a result we have updated the installation document available at the RSARTE 10 release page. It now also contains an example setup file that can be used as a starting point for a customized automatic installation of RSARTE using the Eclipse installer.
More information about the changes can be found in the updated What's New presentation. New pages include 16-17 with project explorer improvements and and 20-21 for code generation changes.
The deliveries of sprint 2016.23 are now available for download. As usual we deliver both updated 9.1.2 CP1 and 10.0 versions. Both these versions are recommended for production use.
9.1.2 CP1 is in maintenance mode and only a few bugfixes have been done in this release. Note that the Included Changes page also mentions some other improvements, but these were actually present also in the previous 9.1.2 CP1 release (we reviewed our backlog in this sprint and found some bugs and enhancements which turned out to be already implemented).
For RSARTE 10 the following improvements are worth mentioning. Read more about them in the What's new presentation (page numbers within square brackets below):
-  The representation of guards in the Project Explorer was improved.
-  Template parameters are now supported by the RSARTE features that analyze references.
-  The C++ code generator now supports a class/capsule-scoped state entry operation.
-  An RSARTE User's Guide topic was added to the built-in help. It contains index pages to make it easier to navigate to the documentation on the RSARTE wiki. Also, a "Learning RSARTE" page was added with suggested reading for new users of RSARTE.
- [21-22] A new implementation of Search is now available as an experimental feature.
Our sprint 2016.20 has ended and as a result there are now two new versions available for RSARTE: 9.1.2 CP1 2016.20 and 10.0 2016.20. Both are recommended for production usage.
RSARTE 9.1.2 CP1 is now in maintenance mode and no new features have been implemented. The difference with the previous release is a few bug fixes.
For RSARTE 10.0 there were also many bug fixes and improvements in existing features. Among other things, the built-in help (a.k.a "online help") now contains 4 topics contributed by RSARTE. They contain technical documentation mainly intended for users who need to customize RSARTE. JavaDocs for public APIs and description of available extension points can be found there.
Modified on by MattiasMohlin
Today we deliver the result of our work in the past sprint 2016.17. As usual we deliver both updated 9.1.2 CP1 and 10.0 versions. Both these RSARTE versions are recommended for production use.
RSARTE 9.1.2 CP1 2016.17
- The preference UML Development - Real Time C++ Transformations - Preserve new line characters for code snippets has been removed. Instead, the C++ code generator now respects the preference General - Workspace - New text file line delimiter to decide what line delimiter to use in generated code. The preference is only respected by the multi-threaded source file generator.
Except for this, 9.1.2 CP1 only saw a few bug fixes in this release. Our goal is to keep 9.1.2 CP1 as stable as possible and most of our efforts will instead be spent on version 10.
RSARTE 10.0 2016.17
Our theme for this release of RSARTE 10 has been to improve "Compare/Merge". In particular we have worked on the usability of the Compare/Merge. Many model changes are now easier to understand due to improved grouping of changes and better change descriptions.
Also, there are two new preferences (in General - Compare/Patch - Modeling Compare/Merge - UML Compare/Merge):
Conflict suppression strategy: Defines which version of a change to select for conflicts that can be suppressed. By default the local version from your workspace (left contributor) will be selected. The corresponding command-line option is -CPconflictSuppressionStrategy=left|right
Pure presentation conflicts: Set this preference to "Ignore" if you don't care about conflicts in the presentation, for example position of symbols or routing of lines. Such pure presentation conflicts will then be suppressed. The corresponding command-line option is -CPconflictSuppression=notation=on|off
Modified on by ElenaS
Long-awaited RSA RTE 2016.14 has been released today. Major event of this sprint is finalization of first official version of RSA RTE 10! It is now the production quality. We also continue to work on improvement for RSA RTE 9.1.2 CP1 since main users are still extensively using this version.
RSARTE 9.1.2 CP1 2016.14
Main focus of this sprint was improvement of stability for key functionality of our tool: compare/merge, code generation and diagrams. We have fixed several issues reported by our customers. Impressive number of incidents received with our Feedback module has been analyzed and 14 of them were fixed.
Also we continue evaluation of "Context sensitive library build" feature and improved sources closure analysis, added a couple of new information messages.
1) Some dependencies are not informative for context sensitive closure and now they are ignored with an information message:
Ignoring dependency from "CPPModel::Capsule1" to Operation "CPPModel::Class1::Operation1" for Context sensitive library builds
Considering only dependencies to Classes, Capsules, DataTypes, Interfaces, Artifacts and Protocols.
2) Dependencies to nested class are considered as dependencies to enclosing class, and enclosing class is also included into the sources closure:
Dependency from "CPPModel::Capsule1" points to nested element "CPPModel::Class1::Class12", considering its top level element "CPPModel::Class1" for Context sensitive library builds
3) If an element has got NativeType defined then its UML type is ignored for context sensitive closure.
However, some more testing remains to complete this work, so hopefully this feature will be fully available during one of our future releases.
RSARTE 10.0 2016.14
This is the day that we have been waiting for a long number of sprints. Team efforts ultimately resulted in the first official release of RSA RTE 10 version. During this sprint we have been working on finalization of licensing, installation and performance issues for this major version. You can now check all advantages that goes with new eclipse Mars.2(1) and new CDT versions. Apart from that, we remind you that some of the functionality became optional to install (TargetRTS, Connexis, Feedback module, EGit integration, Sketcher, CORBA) and some were removed (RTJava, UAL), several RSA components were also excluded from our installation. All this together brought performance acceleration of main user workflows: starting from installation, models loading and ending up in code indexing.
Several things remain to be incomplete such as integration with ClearCase CTE. This work is planned to be finished during one of upcoming sprints.
We strongly recommend to follow your complete pre-deployment test routines before using this version in production.
Modified on by ElenaS
We have released new sprint drops for the week 2016.11. Several improvements were made for RSA RTE 9.1.2 CP1, and we continue to work on evaluation of new RSARTE 10. You already can test new eclipse and RSARTE functionality but it is not final release, so do not use it for production.
RSARTE 9.1.2 CP1 2016.11
A new experimental option has been added to transformation configurations: "EXPERIMENTAL Include unit header file without unit subdirectory path" for both C and C++ transformations. The unit header file is included in each generated C++ file. By default the #include directive looks like this:
However, if this setting is enabled the unit subdirectory path is omitted, and the #include directive will instead be:
In that case you would also need to add the unit subdirectory (or the current folder ".") to include paths in TC settings. By specifying the same folder for "Target configuration name" and "Unit subdirectory", and turning on the new option, and adding unit subdirectory to include paths in TC settings, you will be able to get the same identical generated *.cpp and *.h files for the same sources for different configurations, but still have different thread information generated to each TC sub-folder.
Also added support for $(TCONFIG_NAME) in "Unit subdirectory", "Unit name", "Target configuration name" for C and C++ transformations. So, for example, you would be able to use $(TCONFIG_NAME) as target configuration name and Unit subdirectory and get unit files generated into the target configuration folder.
RSARTE 10.0 2016.11
- Integrated p2 license manager into 10 version.
- Performance measurements of new CDT indexer version demonstrated 40-50% speedup compared to version used in 9.1.2 CP1.
- Continue to improve stability and quality of RSA RTE 10.
During this sprint we also released new version of ModelFixup plugin which is 4.0, new fixup has been added there as well as several fixes made.
Modified on by MattiasMohlin
We were slightly delayed, but today we are finally ready to deliver another version of RSARTE 9.1.2 CP1 which we recommend for production use. We also deliver an updated evaluation version of RSARTE 10.0. Remember to only use it for evaluation and testing.
RSARTE 9.1.2 CP1 2016.08
The implementation of the "context sensitive library" build feature has now been finalized. The feature is still marked as experimental in this release, but in the next delivery we expect it to be a standard (non-experimental) feature of the product.
The object files that are produced when building a TC in a context sensitive way are now put together into a library rather than being linked directly with. This avoids the problem with getting too long command-lines (something which we previously attempted to solve with the gcc specific @file argument). By placing the object files in a library we now have a solution that works on all supported compilers. Note that these libraries will be limited versions of the regular libraries that are built for a prerequisite TC since they only will contain object files for referenced elements. These libraries are therefore placed in the output folder of the TC that is built.
Other than this, the new version of RSARTE 9.1.2 CP1 also contains fixes for a few bugs that have been discovered.
RSARTE 10.0 2016.08
The following have been done in this version:
- The Sketcher component is now available and can be selected for installation in the update site.
- The latest version of EGit (4.2) is now supported
- License texts and copyrights are now in place. You have to accept the license texts when installing the update site.
In addition we have continued to improve the quality of the new version and it should now be very close to that of 9.1.2 CP1.
Modified on by MattiasMohlin
Another three weeks have passed and it's time for a new release of RSARTE. The release contains an updated version of RSARTE 9.1.2 CP1 which now is the latest and greatest RSARTE version which we recommend for production use. We also release an evaluation version of the upcoming RSARTE 10.0. Needless to say you should only use this version for testing.
RSARTE 9.1.2 CP1 2016.05
- We have continued to work on the "Context sensitive library" build feature, which was introduced in the previous release. Now, this feature can be enabled either on workspace level, or for individual transformation configurations:
If either of these preferences are set, the prerequisite libraries of a transformation configuration will be built in a context sensitive way, meaning that only those elements of the libraries that are referenced by source elements of the built transformation configuration will be built. They will be built into object files which are directly linked with the executable or library that corresponds to the top-level transformation configuration.
- Linking directly with a large number of object files will make the link command longer compared to when linking with libraries instead. The generated makefile therefore takes advantage of the GCC feature to specify the object files using a text file instead of listing them all on the command-line. A new file with the suffix *.prereq_olist is generated and it is referenced using the GCC '@' notation in the specification of the linker arguments. For example:
1_PREREQ_OBJS_LISTFILE = 1.prereq_olist
1_LIBS = @$(1_PREREQ_OBJS_LISTFILE)
Note that this feature only is supported when using inclusive makefiles and GCC.
- We have also improved the workflow when a team works on the same model on both Linux and Windows. Previously the platform-specific newline characters that are used on these operating systems would be present in code snippets in the model when using code-to-model synchronization for bringing code changes into the model. Now there is a new preference UML Development - Real Time C++ Transformations - Preserve new line characters for code snippets. When set, the original newline characters that are present in the model will be preserved when synchronizing code changes back to the model.
- Finally, there is a new experimental preference UML Development - Real Time - Resource Resolution - Refresh workspace before loading models. When it is set the workspace will be refreshed prior to invoking the Load UML Models command. This can be useful in case there are changes in the file system that may affect the result of loading all models.
RSARTE 10.0 2016.05
This is where the RSARTE development team now spends most of its efforts. For more information about the recent progress on this new major version please see this presentation.
The first release of RSARTE for the year is now available: 9.1.2 CP1 2016.02. You will notice that, except for a bunch of bug fixes, there are not so many news in this release compared to the previous one. The reason is that our development team now is spending most of their efforts on the upcoming version 10.0, which we expect should be ready approximately by the end of March.
The main new feature in this release is something we call "context sensitive library builds". It is an evolution of the work for detecting source dependencies automatically, and it's controlled by a preference UML Development - Real Time C++ Transformations - Context sensitive library builds. When this preference is enabled, full libraries for prerequisite TCs will not be built. Instead, only object files for those parts of the libraries that are actually used by source elements of the built TC will be produced. It is common that an executable only uses a small subset of everything that is present in its libraries, and by only building the parts of libraries that are really used, the total build time can be significantly reduced.
Note that "context sensitive library build" is currently an experimental feature, and further improvements are being worked on for the next release.
Today we release RSARTE 9.1.2 CP1 2015.49 which will be the last delivery for the year. As usual there are lots of improvements, and I'd like to mention the following:
Java API for compare/merge and EGit operations
We have extended the API based on the feedback we got from the previous release:
• Support for the EGit rebase command
• Possible to set fast forward mode for merge
• Support for auto-commit
• Improved behavior of the progress monitor for RTEGitMergeCommand
• Support for EGit visual compare
See the updated javadocs in the plugins com.ibm.xtools.umldt.rt.api and com.ibm.xtools.umldt.rt.api.egit for more details.
Internal transitions compartment for state chart diagram
The representation of the compartment in the presentation model was modified to avoid backwards incompatibility with previous releases. This means that it's now possible to use this new compartment, and still be able to open the model in an older version of RSARTE. Therefore this feature is no longer experimental.
The visual appearance of the compartment was also improved by placing it slightly below the diagram frame. Thereby overlap is avoided with border symbols on the bottom border of the diagram frame.
The product feedback utility helps us at IBM to improve the quality of RSARTE. It can collect reports on quality problems such as slow performance, hangings, crashes and internal errors, and send these reports to us. See this article for information on how to install, configure and use the product feedback utility.
Easier to edit Property Sets code snippets from the Properties view
If you want to edit several Property Sets code snippets for the same element it's convenient to do it from the Properties view where you can see the overview of all available code snippets. Previously when the "Edit" hyperlink was clicked in order to edit one of these code snippets, the opening of the code editor would lead to that the General tab in the Properties view got focus. Now this has been fixed so that the Property Sets tab stays active while you edit the code snippets.
Different ways of initializing multi-dimensional arrays
You can now choose between two different ways of initializing multi-dimensional arrays:
1) Using nested for-loops, one for each dimension. This leads to code that is easy to read, and which static analysis tools won't give warnings for. However, some compilers may generate somewhat less efficient assembler for this way of initializing the array.
MyClass::MyClass( const MyClass & rtg_arg )
for( int rtg_index0 = 2 - 1; rtg_index0 >= 0; -- rtg_index0 )
for( int rtg_index1 = 5 - 1; rtg_index1 >= 0; -- rtg_index1 )
a[ rtg_index0 ][ rtg_index1 ] = rtg_arg.a[ rtg_index0 ][ rtg_index1 ];
2) Using a single for-loop. This makes the code more compact, but slightly less readable. Also, some static analysis tools will give warnings for it. However, compilers sometimes translate this into more efficient assembler.
MyClass::MyClass( const MyClass & rtg_arg )
for( rtg_index = (2) * (5) - 1; rtg_index >= 0; -- rtg_index )
a[ 0 ][ rtg_index ] = rtg_arg.a[ 0 ][ rtg_index ];
The choice is controlled by a new preference in UML Development - RealTime C++ Transformations:
Modified on by MattiasMohlin
The latest and greatest RSARTE release is now RSARTE 9.1.2 CP1 2015.46. For this delivery I'd like to mention the following improvements:
Java API for compare/merge operations
RSARTE now contains a new API plugin com.ibm.xtools.umldt.rt.api. This plugin provides an API for invoking compare/merge operations programmatically. In the future the plugin will be extended to also contain other public APIs for RSARTE.
To learn more about the possibilities currently offered by the API, see this presentation: RTAPI.pdfView Details.
Improved feedback when reordering internal transitions and comments by drag/drop
The visual feedback you get when reordering items in an internal transitions compartment has been improved. It's now easier to see exactly where the moved transitions or comments will be inserted.
Hiding items in the internal transitions compartment
Comments and internal transitions shown in an internal transitions compartment can now be hidden without having to use the Sort/Filter Compartment Items dialog. Select the comments and transitions you want to hide, then perform the context menu command Hide Compartment Items.
Creating state comments
It's now easier to create state comments to be shown in the internal transitions compartment of a state or state chart diagram. You can create such comments either by the context menu command Add UML - State Comment or by using the popup toolbar that appears for the state or internal transitions compartment:
Highlighting non-visible labels
The highlighting for selected lines and their connected symbols that was introduced in the previous release has now been further improved. It's now possible to also highlight labels for the selected line, and its connected symbols, when these labels are outside the visible region of a diagram. Currently this is an experimental feature, which is enabled by setting the preference UML Development - Real Time - Diagrams - Highlight Connections - Show label highlight even if the label is not visible.
Highlights for non-visible labels contain a hyperlink. If you click it the diagram will scroll to make the label visible. This feature is hence useful as a means for navigating around in big diagrams with long lines. Here is an example:
The RSARTE EGit integration now supports squash merge. Previously the commit IDs were not correctly computed when using squash merge, but this has now been fixed.
Today we release the next cumulative delivery for RSARTE 9.1.2 CP1. We would like to bring your attention to the changes mentioned below.
An experimental feature is a feature that is still under development, but which we decide to include anyway in a release. By doing so we can get early feedback from users, which we can take into account when completing the feature. Experimental features are by default hidden in RSARTE, to avoid distracting users who don't need to use these feature. To enable experimental features you can choose one of the following methods:
1) Mark the checkbox "Enable EXPERIMENTAL features" that is available in Help - About Rational Software Architect RealTime Edition - Installation Details - Patch Info:
2) Set a system property in eclipse.ini: -DRSARTE_ENABLE_EXPERIMENTAL=true
3) Set the environment variable RSARTE_ENABLE_EXPERIMENTAL to true before starting RSARTE.
Experimental features are marked in the user interface by means of the word "EXPERIMENTAL". You are encouraged to try out experimental features and provide us feedback about them, but expect that these features may change in future releases of RSARTE.
Detect source dependencies automatically
Some users reported that they preferred the original implementation of this feature, where source dependencies specified in prerequisite TCs were added in addition to the ones that are detected automatically based on analyzing the top capsule. Therefore we have now restored the original implementation of this feature, and introduced an additional preference which can be set by users who prefer to ignore source dependencies specified in prerequisite TCs. This new preference is an experimental feature:
Reordering internal transitions by means of drag and drop
It is now easier to reorder internal transitions that are shown in a compartment on a state symbol or a state chart diagram. Previously you had to use the dialog "Sort/Filter Compartment Items" for doing this, but now you can simply reorder the transitions by drag and drop within the compartment.
We know of one limitation for this feature; if you drag the transition by clicking inside the outline rectangle there is no visual indication of where it will be dropped when you move the mouse. Avoid this by dragging it by clicking on one of the edges of the outline rectangle. We are working on fixing this issue.
Improved highlighting for selected lines
To make it easier to work in big cluttered diagrams where lines and labels may overlap each other we have introduced an improved visualization for selected lines. This visualization is controlled by the preference UML Development - Real Time - Diagrams - Highlight Connections:
This visualization was previously only available "On hover" (i.e. when the mouse was placed over a line in a diagram), but now you can also enable it "On selection" (i.e. when you select one or many lines in a diagram). The preference "Make labels stand out" can be set in order to highlight not only the line itself, but also the labels of the line and its source and target symbols. This makes it easier to know to which line a particular label belongs. Here is an example of how a connector line can be shown:
Currently this feature only applies to lines in state chart diagrams (transition lines), composite structure diagrams (connector lines) and sequence diagrams (message lines).
Saving files automatically before running a transformation
It's now possible to save files automatically before a transformation is run. Only the files that affect the transformation get saved. Enable this feature by setting the preference UML Development - Save affected files before running transformations. Note that this feature is experimental for the time being.
Both TC files and model files get saved, and there is a printout in the UML Development console for each model file that gets saved automatically. For example:
15:43:23 : Silent save before running transformation was performed for "/qwqwqw/CPPModel.emx"
Modified on by MattiasMohlin
The next cumulative delivery for RSARTE 9.1.2 CP1 is now available for download. In addition to bug fixing and performance improvements a few new features are also included.
Hidden structure view in the Compare/Merge editor
The Compare/Merge user interface has lots of buttons and views to fit in a relatively small window. To save some space the Structure view that appears when you do a sub-compare or sub-merge is now hidden by default. This view is intended to show the structure of code snippets, but since code snippets often cannot be parsed correctly by CDT in isolation, the view often is just empty (or contains a single "Translation Unit" node). If you want to show the Structure view you can do so by enabling the preference General - Compare/Patch - Modeling Compare/Merge - Show structure view in sub-merge sessions.
Comment texts visible in the Project Explorer
The text of comments is now visible in the Project Explorer. If the comment has multiple lines, only the first line is shown. Rich text annotations are ignored.
Showing comments for internal transitions
Comments for internal transitions can now be shown in the internal transitions compartment for a state symbol or state chart diagram. To make them visible enable the preference UML Development - Real Time - Diagrams - State Chart - Show Internal Transition Comments inside Compartment. This preference can also be set on individual state chart diagrams using the Appearance tab of the Properties view. The comment is shown on a separate line before the transition name and is preceded by '//'. For example:
Avoid warnings from gcc for unused variable 'rtg_list'
A macro ATTR_UNUSED is now generated for the variable 'rtg_list' which is not used by generated code, and often neither used by user code snippets.
unsigned char ATTR_UNUSED rtg_list;
This macro is defined in the unit header file (by default called UnitName.h). For gcc this macro expands to the compiler directive __attribute__((unused)) which avoids a warning to be reported for this variable. For other compilers the macro expands to an empty string.
Using external C++ libraries together with the preference "Detect source dependencies automatically"
When this preference is set the C++ code generator automatically computes the set of source elements to transform, based on the top capsule and which other model elements it depends on (directly or indirectly). This scheme now works better when C++ external libraries are used. All code for prerequisite TCs will be built with the settings specified in the top executable TC, and external libraries will be linked with the application as usual.
Modified on by MattiasMohlin
The latest version of RSARTE is now RSARTE 9.1.2 CP1-2015.37. In this release we have improved the Navigation History feature in the Project Explorer. If you are not already familiar with this useful way of navigating around in the Project Explorer, you may first want to watch this video Navigation history in the Project Explorer and read the chapter "Navigation History" in RSARTE Navigation.
It is now possible to navigate both backwards and forwards in the navigation history. If you press the button in the Project Explorer tool bar
you are taken to the previous element in the navigation history. That is, you navigate backwards in the history, just like before. Note that the command is now called "Navigation History Go Back". However, sometimes you may want to also navigate in the other direction. For example, assume you have a long list of elements in the navigation history and happen to navigate backwards one time to much. Then instead of continue to navigate backwards until you find the element you are looking for it's much faster to instead navigate one step in the forward direction. This is now possible by means of a command called "Navigation History Go Forward". To use this command you must assign a keybinding to it in Preferences - General - Keys. Here is an example where we have assigned a keybinding to both these navigation commands so that it becomes easy to navigate in both directions:
Another improvement in this feature is that now it's also possible to assign a keybinding to the command that clears the navigation history ("Clear History"). For example:
For a complete list of changes included in this release, see Included Changes.
Speak up - please take our 1-question survey what languages, if any, do you use with RSA?
Yesterday the RSARTE team delivered the first version of a plugin that provides a number of utilities for fixing subtle and hidden problems in an RSARTE model. Over time we have identified a number of such problems in models which have been migrated from Rose RT (often caused by limitations or bugs in the version of the Rose RT importer that was used in the migration). There are also examples where bugs in older versions of RSARTE have introduced problems in a model, problems that are hidden and hence can be really tricky to detect and fix without some kind of tool support.
The Model Fixup plugin can initially be used for checking if your model contains any problems that can be fixed by the plugin. If such problems are found, you can then use the plugin for correcting the model.
This first version of the plugin provides 5 different fixup utilities. You are encouraged to install the plugin and at least use it for checking if your model is affected by any of the known problems.
Modified on by MarianaAlu