171688: CQPAR00227554 Variables not expanded in External Library TCs properties
Added support for environment variables in "Include file name" property for External C++ Library TCs. This was delivered in 10.1/10.2 2018.03
171687: CQPAR00227552 - Model Compiler do not generate Inclusion paths specified for external library into the Makefile
Include paths from External C++ Library TCs are now correctly generated into the list of include paths for the TC that have External TCs as prerequisite, directly or indirectly through other TCs. This was delivered in 10.1/10.2 2018.03
171675: CQPAR00227500 Enable Model compiler to generate 0.list file format without the object file extension
By default, model compiler will always generate object file names without extension into *.olist files.
The only case when *.o extension will be added is for GNU make type and only if ALL_OBJS_LIST is redefined like this:
ALL_OBJS_LIST=@$(ALL_OBJS_LISTFILE)
either in TargetRTS in libset.mk or in TC in Compilation Make Insert. This was delivered in 10.1 and 10.2 2018.03
171639: CQPAR00226990 - RTStructures.h included in "UnitName.h" by Model Compiler when having "Environment" set to C++
Corrected behavior for pure C++ build
This is delivered in 10.2 2017.49
171638: CQPAR00226987 - Model Compiler generates faulty forward declaration for class with attribute of nested class
Corrected generation of forward declaration for nested classes. Fixes made on Neon and Oxygen streams.
This is delivered in 10.1 2017.49 and 10.2 2017.49
171612: CQPAR00226380 - Multi-threaded code generator does not generate Implementation Preface for Constructor
Corrected source code generation
This is deliverd in 10.1/10.2 2017.49
171592: CQPAR00225636 - Model search result is not jumping to the expected code line
Search match highlighting in code editor works properly now.
This is delivered in 10.1/10.2 2017.49
171581: Show source in editor is navigating to header file instead of code in implementation
Problem has been fixed.
171558: RSARTE Model Search fail
Fixed selected OpaqueBehavior processing on search dialog initialization.
167313: CQPAR00216486 REFERENCED MODELS VIEW BROKEN
Fixed imports/exports index functionality.
This is delivered in 10.1 2017.49 and 10.2 2017.49
161766: CQPAR00208930 CUSTOM STEREOTYPE ATTRIBUTES are not indexed
This is now fixed and delivered in 10.1 2017.49 and 10.2 2017.49
161763: CQPAR00208928 MODEL SEARCH DOES NOT FIND NATIVE TYPES FOR ATTRIBUTES
Now all stereotype attributes are indexed.
This is delivered in 10.1 2017.49 and 10.2 2017.49
147070: CQPAR00194234 TRANSFORMATION FAILS WITH NULLPOINTEREXCEPTION (NPE)
Added an error message for corrupted state machines (instead of NPE):
Cannot compute target for the given transition, the model is corrupted
This was delivered in 10.2 207.49
136829: CQPAR00143653 - Make it possible to change the scope in the search dialogue
The new drop down has been added to the selection scope in the dialog.
It allows to change selection scope to point to any parent of a model element.
This is delivered in 10.1/10.2 2017.49
107848: Search history navigation is not working properly
Fixed combo selection on keyboard event, after selecting element whole edit field is selected.
171545: RFE: C++11 support for Deleting special member function
Support for "deleted" and "default" keywords was imlemented for the special member functions: default constructors, copy constructors, copy assignmnet operator, move constructor and move assignment operators. Additional properties were added to the special function groups in the C++ General tab for passive clasees. Properties are stored in the model as annotations to the correpsonding elements.
161466: RFE: Integration of new C++11 constructor features
Support for default move constrcutor, and default move operator was implemented. To generate new constructs, new groups of properties has been added to the C++ General tab for passive classes. Properties are stored in the model as annotations to correpsponding elements.
171544: RFE: C++11 support for Override controls
Support for "override" keyword for operations have been added. New "Override" check box was introduce
- in the General tab of Properties View for operations
- in the "C++ General" tab of Properties View for operations
- in Operations tab of Properties View for classifiers.
"Qualifiers" label was changed to "Modifiers" to follow common naming style in Properties View.
171543: RFE: C++11 support for constexpr - generalized and guaranteed constant
- Added support for constexpr to the Model Compiler code generator
- Added properties for Operations and Attributes on General and C++ General tabs of Properties view
171511: Model indexer errors
- Implemented support for linked resources in Eclipse workspace
- Found possible cause for NPE on Eclipse startup and added some code that would allow to detect actual problem.
- NPE in indexer is already fixed.
171503: CQPAR00221045 CANNOT SELECT EVENT FOR ASYNCHRONOUS CALL MESSAGE WHEN PORT REDEFINITION AND PROTOCOL INHERITANCE IS USED
"Select Event for Message" dialog populates events properly now.
Existing connector is reused properly also. This was deliverd in 10.1 2017.40.
161086: CQPAR00208147 - RSA-RTE: Enable more intelligent Cross-model pasting of model elements
The new context menu command 'Automatic Reference Fixup' has been added for model element nodes in the project explorer.
When executed it will bring up the dialog asking if broken references should be repaired or cleared.
All information messages are printed in the console.
The command is not undoable and is not saving affected resources.
This was delivered in 10.1 2017.40
86529: Improve usability of Broken References dialog
In Model RealTime 10.1 2017.40 we have now added a new command for fixing broken references. It's present in the context menu of a Project Explorer element in the Refactor submenu and is called "Automatic Reference Fixup". So it is recommended to turn off the preference that opens the Repair Broken References dialog when models are loaded (Modeling - Resource Resolution - Mark Broken References). Then you will see error markers in the Problems view and in the Project Explorer when broken references are detected.
You should then invoke the new command for fixing broken references. You will have the option to either clear (reset) broken references or rebind them to new elements based on matching IDs. The latter is useful in case you have made a Rename refactoring but forgot to include all affected projects in the workspace, so they could not be updated at the time of refactoring.
If you want to rebind a broken reference to a completely new element you can just use the regular Model RealTime UI for doing so. For example, the Select Type button for a type reference in the Properties view.
167700: Check box for "const" parameter in static function.
Now it is possible to set target parameter of decode function to "const" value using new property: Const Target Parameter for Decode Function on the Target RTS tab of properties view for passive classes. This property is respected by the code generator of the Model Compiler only.
171488: Support for environment variables in the map file of the MC
Added support for environment variables in projects map file for model compiler. They can be referenced with $(VARNAME) or ${VARNAME}.
Now when using model compiler with projects map file from command line, it is possible to configure paths to your projects (in other words the contents of workspace) by changing environment variables.
169033: CQPAR00217770 DOCUMENTATION FIELD DOESN'T ACCEPT KEYBOARD INPUT
Keyboard input is accepted properly now.
169028: Artifacts don't generate cpp files with context sensitive library builds feature (continuation of TR2445)
Having the same sources in 2 different TCs for the same build is not correct. This causes problems when applying context sensitive library builds and trying to filter sources from TCs. A special warning message has been added to Model compiler to better detect these situations:
WARNING : Artifacts::Tests::myArtifact : Element is included as source into several TCs : ArtifactsExample/Test_exe.tc, ArtifactsExample/Test.tc
162082: Integration of model compiler into rsartebatch
I have implemented the script modelcompiler.sh that is a wrapper script for modelcompiler and allows to integrate it to regression testing systems and batch build systems.
9358: RT Properties listed in alphabetical order and not grouped in logical order
Property Sets page of Propertivew View has been refactored in the following way:
- no longer auto-generated from profile data
- separate property pages for "C++ General" and "C++ Target RTS" were introduced for elements with the applied property sets from Cpp profile
- better usability by property reorganizing, renaming, grouping and etc
- in case of using custom or other profiles except C++, new preference page: Modeling->Views->Show Property Sets Tab for Applied Profiles was introduced to show Property Sets tab with previous layout.
166401: CQPAR00214925: New Scoped search does not find triggers when specified in another model
Now references to element defined outside selection scope are included into search results.
166071: Corrupting model files during save operation after erroneous loading of a model
If user loaded the model which contained broken redefinition references, and this model file was processed by RTE redefinition, then next time he tries to save it he will get message dialog warning that save could lead to corrupted model.
New preference "Save model resource with removed broken references" has been added to "UML Development -> Real-Time -> Resource Resolution" page to control action on save: prompt, never/always save.
If model is loaded correctly, no dialog will be presented.
165937: CQPAR00214277: The Scoped search in some circumstances takes too long time (20-30 times longer than expected)
Now for selection-scoped search possible resources containing selection and its descendants are calculated and query is performed limited to elements belonging to these resources.
165507: CQPAR00213788: The --list option for Model Compiler do not resolve SHLIB_EXT and EXEC_EXT variables
Model compiler now resolves SHLIB_EXT, EXEC_EXT and other macros defined in TargetRTS settings while printing file names for --list option.
165408: UC: modelcompiler.sh generating specific element only
modelcompiler.sh script now supports generation of specific element(s) only. For that you should specify elements with qualified names in -gensource option like this:
modelcompiler.sh -tc <TC> -gensource "@DrhBaseSsLU::DrhBaseListSsLPkg::DrhBaseTableD"
To get qualified names for all elements included into the build, use -listsources option like this:
modelcompiler.sh -tc <TC> -listsources
Then you can copy qualified names for selected elements and pass them to -gensource option.
If you know only the name or a part of name for the required element, use -listbyname to look for all matching sources, like this:
modelcompiler.sh -tc <TC> -listbyname TableD
164593: CQPAR00212252 Get an 'UnknownFormatConversionException' when converting tc to js
Fixed conversion to JS format
164879: Improve the error message "IRJH0050E No source was specified"
For RealTime C++ transformations it is allowed to have "Sources" defined to empty list. Although an error message "IRJH0050E No source was specified" was printed if "Sources" property was not specified for TC.
This problem has been fixed and this error message is not printed any more.
Also, the error message for missing top capsule has been improved and now you will get more concrete information:
UML to RealTime C++: Top capsule must be specified for this transformation (check "Properties" -> "Top capsule")
164694: Model Indexer Causes Workspace Deadlock
Customer reported that the problem has been fixed indirectly. Most likely there were some problems with fs where indices are resided.
164563: undo is unsynchronized with save
In the sprint 2017.22 we have fixed a couple of issues related to the undo/redo functionality of the code editor.
The only known issue is the behavior of the dirty mark for the code editor.
It will became dirty when you will start to edit it and will keep it until the save operation is executed.
You can create a new TR for this particular problem.
162768: Search functionality not working properly in Neon 10.1 version
159002: CQPAR00205941 MC Not helpful error message when command line path and map-file paths are specified in different ways
Using folders on different drives on Windows resulted in "ERROR : java.lang.IllegalArgumentException: 'other' has different root" exception in model compiler.
This problem has been fixed in 110.1 2017.22.
158716: CQPAR00205865 Model Compiler error message does not show full path to faulty file
If you have a folder ".tc" in your path, then model compiler mixed it with the name of the tc file and did not parse the whole path to TC. This resulted in wrong error messages not showing the full path to faulty file, or in problems finding the prerequisite in ".tc" folder.
This problem has been fixed in 10.1 2017.22.
130803: Transformation fails because of missing source
For RealTime C++ transformations it is allowed to have "Sources" defined to empty list. Although sometimes an error message "IRJH0050E No source was specified" was printed.
This problem has been fixed and this error message is not printed any more.
163921: Special tab for generalizations
Column sorting has been implemented for the 'Relationships' property section. That would make it easier to find the generalizations by sorting on the "Type" column (generalizations would then appear on top above all dependencies).
148352: RFE: Create Relationship Dialog
If capsule development view point is active, Create Relationship Dialog will show only those relationships that are meaningful for an Model RealTime user.
164471: RFE: relationships tab should be resizable
The Relationship tab now resizes the contained tables when the view is resized. Also, the new default size now makes 5 relationships visible.
163850: CQPAR00211219 - Shortcuts for scope selections removed from Search dialog
Shortcuts has been added for all search scopes. This was delivered in 101.1 2017.16
163777: Indexing fails for OpaqueAction with language/body pair
As Model RealTime does not use body of OpaqueAction, its value is not processed now.
163310: CQPAR00210218 Scoped search finds nothing in specific (fragmented) model
Fixed URI calculation for references in projects with hierarchical file structure. This was delivered in 10.1 2017.16.
160901: Horizontal scrollbar in search not available
Support for horizontal scroll bar has been implemented.
148357: Codan support
For enhanced code analysis support we have added a global preference "Generate additional information for Code Analysis" for both, Classic Builder and Model Compiler. By default it is turned off.
When enabled, standard compiler include paths will be computed during build process and added to all generated target projects. This step currently is supported only for GNU make type.
To compute paths we take the actual compiler and its options that are specified for the top transformation configuration. The solution is independent of CDT build-in settings and will provide include paths specific to the compiler referenced from the Makefile for build.
159235: CQPAR00205927 - RSARTE: MC: provide information on tc's
Added special command line flag to model compiler "--genBuildInfoRules" that will generate special rules into batch.mk for printing actual build information into a file.
Build information contains: list of full paths to all generated sources, all compiled object files, list of all includes and libraries, full path to target library or executable, information about actual compile/link/archive commands and its actual arguments and list of all prerequisites required for building top TC.
You do not need to run actual build in order to get this information.
Use these command line options to get only build info generated: --genBuildInfoRules --generate=makefile --build=build_info
Example:
var MyExe = { top: true, path: 'C:/MyExe.tc' }
MyExe.suppliers = [ Library3, Library1, Library2, Executable1 ]
MyExe.target = 'C:/MyExe_target/default/MyExe.EXE'
ExeWithEmptySources.sources = [
'C:/MyExe_target/native/UnitName.h',
'C:/MyExe_target/native/UnitName.cpp'
]
MyExe.objects = [
'C:/MyExe_target/default/UnitName.o'
]
This was delivered in 10.1 2017.13
158866: CQPAR00205864 NULL POINTER EXCEPTION IN MODEL COMPILER WHEN PROJECT IS NOT INPROJECTS.MAP FILE
If project is missing from projects map file the following error message will be printed:
13:45:17 : ERROR : Can not find path for project 'Test1' in projects map file 'C:\work\projects.map', add Test1=<project path>
Null pointer exception (NPE) in model compiler has been fixed.
This was delivered in 10.1 2017.13
147303: Cannot open RSARTE files from History View - options that cannot be used should be disabled
After some testing we decided to use default text editor to open model and tc files from history view.
Sometimes user needs a way to check something in history. It is better to show model as text rather than disable 'open in editor' command completely.
144769: Model compiler should take license
License support has been added for the Model Compiler. To add license information, use following option
--license=<type>:<value> where type can be flex|key; value is either port@server(or list of servers) or authorized user license. For example,
--license=flex:1000@server1.example.com will work with 1 license server
--license=key: 00AAAAAAAAAAAAA will use authorized user license
--license=flex:1000@server1.example.com&11000@server2.example.com - will work with the list of servers
It is possible to set with the environmental variable Model RealTime_MODEL_COMPILER_LICENSE=<type>:<value>.
When working with the Model Compiler from Model RealTime GUI, active license will be applied.
131049: Project auto import multi repo/path support
When performing a refactoring it's now possible to automatically import external projects, that are affected by the refactoring, into the workspace.
159917: CQPAR00206749 MODEL COMPILER GIVES FAULTY ERROR MESSAGE FOR C LANGUAGETRANSFORMATION CONFIGURATION
C Transformations currently are not supported by Model Compiler and it prints an error message for UML to RealTime C Transformation configurations:
10:03:53 : ERROR : C:\Work\_WS10\Ctransform\Ctransform.tc : C Transformations are not supported
This was delivered in 10.1 2017.10
159065: "Whole words only" option is no longer supported when using old version of search in rsarte 10.1
The option "Whole words only" is added back to the Model Search dialog.
150698: CQPAR00198286 MODEL COMPILER IGNORES GETTER INLINE OPTION
Handling of checkbox "Get Method Inline" has been fixed and now Model Compiler does not generate "inline" for automatically generated get methods if this flag is unchecked.
This was delivered in 10.1 2017.10
134901: Make driven transformations
Model compiler can generate model transformation rules to makefile batch.mk.
This functionality is enabled by Model Compiler preference "Include make rules for model-to-code transformation", which can take one of the three options:
"Separate" - generate separate transformation rule for each couple of generated cpp and h files
"Joint" - generate make rule for all source files generated from one model file (emx or efx)
"Full" - generate one make rule for generation of all sources at once
The same option is also available from command line:
--genModelRules=separate | joint | full
With this option build process first will generate only Makefiles and then call make for the top makefile. All code generation and compilation will be driven by that top makefile (batch.mk).
One of the advantages in having transformations in makefile is the ability to parallelize transformations in parallel build environments.
158324: CQPAR00205420 RUNNING MODEL COMPILER WITHOUT ARGUMENTS RESULTS IN NPE
Running model compiler from command line without arguments results in an error message and returns exit code "1".
NPE has been fixed:
C:\>java -jar C:\_Install\Model RealTime_10.1_2017.07\rsa_rt\tools\modelcompiler.jar
11:12:15 : INFO : EXPERIMENTAL RT Model Compiler. (C) Copyright HCL Technologies Ltd. 2016, 2017. All Rights Reserved.
11:12:15 : INFO : Expanding paths
11:12:15 : ERROR : No input file(s) specified.
11:12:15 : INFO : Done. Elapsed time 0.031 s
C:\>echo %ERRORLEVEL%
1
This was delivered in 10.1 2017.07
158098: CQPAR00205338 NEW SEARCH/REPLACE DO NOT REPLACE ALL OCCURRENCES IN THETC-FILES
Added replace support for following TC fields:
- Documentation field
- Workspace output path
- Top capsule
This was deliverd in 10.1 2017.07
156450: Context sensitive build issues when using model compiler and introducing artifacts usage for external code
For context sensitive library builds we need to know if any of the external C++ code is using any UML model elements. This is needed to correctly build the set of sources required for target build.
We have invented a simple and efficient workaround that allows to specify dependencies from external C++ code to UML model elements.
It does not require to replace external code with artifacts but adds a special class that defines dependencies from external source files to UML model elements.
The solution will be documented on Model RealTime Wiki near documentation for Context Sensitive library builds.
RNC model has been updated and it solved context sensitive build issues reported in this case.
144171: CQPAR00133425 - RSA-RTE: Generate RME tags with state information
The readability of generated code for state machines has been improved.
Now, for each state generated code contains comments showing not only the current state name but the complete state with all parent states.
For example:
case 3 /* State1 (State Machine::TOP::initting::homing::State1) */
Similar comments are also printed for passive state machines:
case 2U /* State1 (StateMachine1::State1) */:
…
rtg_state_Class1.state = 3U /* State2 (StateMachine1::State2) */;
This was delivered in 10.1 2017.07
156277: Misleading error printouts rsa_rt/tools/cmcmdline.jar (Permission denied) should be removed
Now process checks contents of source and destinations before copying.
Copying will be started only if destination miss anything from source.
155768: CQPAR00202983 A SEARCH, SCOPED TO 'SELECTION' DOES NOT FIND ENTITIES THATRESIDES IN FRAGMENT FILES
Fixed EMX file indexer so index contains correct information about fragmented references.
154427: CQPAR00201956 - NOT POSSIBLE TO COMPARE WITH A MODEL CREATED IN VERSION 7.5.5.1
Problem was fixed by apping migration handler to old gmf notation from 7.5.5.1 version.
149025: RFE: Diagrams: Navigate to super class element from a redefined or excluded element
The new context menu commands "Show State in Superclass", "Show Transition in Superclass" and "Show Port in Superclass" has been added to the "Navigate" sub menu of the diagram editor.
149024: RFE: Navigate to type of attribute, port and parameter (Properties view)
"Show in Project Explorer" sub menu has been added to the context menu of the Attributes, Parameters and Ports property sections. It allows to navigate either to the model element or to its type/protocol.
149023: RFE: Navigate to target element of dependency (Properties view)
The new context menu commands "Navigate->Dependency" and "Navigate->Target Element" has been added to the context menu of the "Dependencies" property section of the properties view.
149022: RFE: Navigate to the source state for a triggered transition (Project explorer)
The new context menu command "Navigate->Show Source State" has been added to the project explorer nodes representing transitions.
149021: RFE: Navigate to super class element from a redefined or excluded element (Project explorer)
The new context menu commands "Show State in Superclass", "Show Transition in Superclass" and "Show Port in Superclass" has been added to the "Navigate" sub menu of the project explorer nodes representing redefined or excluded states, transitions and ports.
148986: RFE: Navigate to elements related to a trigger (Project explorer)
The new context menu commands "Show Event", "Show Data Class of Event", "Show Port…" and "Show Protocol…" has been added to the "Navigate" submenu of transition trigger node in the project explorer.
For triggers in a passive state machines the new context menu command "Show Trigger Operation" has been added.
148350: RFE: Improve property pages for Literals and Parameters
Literals property section contains two columns now: icon and signature. Parameters property section contains three columns now: icon, direction and signature.
148349: RFE: Reorganize property pages
- Properties "Polymorphic" ("Inline") in the general section for operation are now placed on the same row with other qualifiers.
- Layout of general section for attributes has been modified by removing browse button to the right of the "Default Value" property and improving layout of text fields ("Type' and "Default Value").
148201: RFE: Navigate to type of attribute, port and parameter (Project explorer)
The new context menu command "Show Type" has been added to the project explorer. It is available for all typed elements such as attributes, parameters and ports.
The existing diagram editor context menu command "Show Type in Project Explorer" has been renamed to "Show Type".
136832: CQPAR00008678 - Model search: highlight/select the search string
Fixed with new Search implementation released in sprint 2015.50
136830: CQPAR00138361 - Enable searching for triggers too in the model search
Fixed with new Search implementation released in sprint 2015.50
136828: CQPAR00155683 - Model Search does not find parameter types
Fixed with new Search implementation released in sprint 2015.50
134019: Headless build reqires display
The model compiler is now ready to be used for batch builds in production. It does not have any UI dependencies at all, and hence does not require a display.
129860: model search for tabs does not work
Now search also performs "whole-string" matching, i.e. tries to find occurrence of the whole query string along with word-split search. To search only exact occurrence, quotes could be used. Tabs and spaces should be put verbatim (\t is not expanded to tab character).
111514: Provide a way to search for element with a specific keyword (or stereotype)
Searching for keywords and stereotypes are now supported by the new search implementation.