%% MES Test Manager(R) (MTest) Release Notes 
%
% Model Engineering Solutions GmbH | Waldenserstraße 2-4 | 10551 Berlin | Germany
%
% Contact: +49 (0)30-2091 6463 0 | mtest@model-engineers.com
%
% Authors: Tobias Schmidt | Martin Hill | Hartmut Pohlheim
%
% <https://model-engineers.com/ www.model-engineers.com>
%
% For more information visit the 
% <https://model-engineers.com/en/support/mtest-support/ MES Test Manager(R) Support Site>
%
% © 2008-2024: Model Engineering Solutions GmbH
%%  MTest v 7.8.4 (April 2024)
%
%    - Bug Fixes and Maintenance
%        Compatibility with Matlab 2023b
%           Small bugfixes to ensure compatibility with Matlab 2023b
%
%        Generation of Test Project Protocol in Batch mode
%           The Test Project Protocol is now generated as intended as part of the Test Catalog when it is created
%           in Batch mode.
%
%        White noise for input signals
%           New function MTmp_setNoiseInSignals has been added to manually add white noise to input signals, which 
%           was previously only available on request.
%
%%  MTest v 7.8.3 (January 2023)
%
%    - Bug Fixes and Maintenance
%        This release mainly focuses on fixing bugs and improving robustness and user experience. These affect 
%        various functionalities in MTest, e.g. the support of Matlab 2022b and an updated licence management.
%
%                 MTest now officially supports Matlab 2022b.
%
%                 Note: Changes in TargetLink 2022-B mean that TargetLink logging must always be enabled when logging
%                       signals in TargetLink models, regardless of which mechanism you want to use for this.
%                       Otherwise, signals logged with Simulink will not be logged either.
% 
%        #10600   We fixed an issue where referenced models could not be selected as a test object. This occurred
%                 mainly when there were only referenced models as subsystems at the highest level in the model.
% 
%        #10595   We updated the licence mechanism to reduce problems when other MES tools are running at the same time
%                 in the same Matlab session.
%
%%  MTest v 7.8.2 (October 2022)
%
%    - Bug Fixes and Maintenance
%        This release mainly focuses on fixing bugs and improving robustness and user experience. These affect a 
%        range of functionalities in MTest, e.g. licence management, coverage and testbed generation.
%
%        #10129   The Lismo-based license management in MTest is now the same for Linux and Windows operating systems.
%                 The MTest Specification Editor is currently limited to use on Windows operating systems.
% 
%        #8531,   We fixed an issue where test sequence coverage results in the aggregated coverage were not correctly
%        #10013   removed, even though the sequences were properly removed via the regarding menu entry. This 
%                 particularly affected the deletion of test groups.
%                 In addition, Simulink coverage data is now also be deleted correctly when building a new testbed and
%                 importing a test sequence, regardless of the currently active simulation mode.
% 
%        #8172    We fixed an issue where the bus' signals were duplicated in the interface if they were selected
%                 by more than one bus selector. 
%
%        #8062    We fixed an issue with the automatic detection of multiple bus object instances at multiple outports. 
%                 In this case the bus renaming is enabled by MTest. 
%
%                 We fixed an issue caused by command behavior changes in the latest Matlab version. 
%                 As a result, MTest now also supports Matlab 2022a.
%
%
%%  MTest v 7.8.1 (July 2022)
%
%    - Bug Fixes and Robustness Improvements
%        This release mainly focuses on fixing bugs and improving robustness and user experience. These affect a 
%        range of functionalities in MTest, e.g. test bed generation, project configuration and test execution.
%
%         #9683:  We added additional modes for the BusElementRenaming option. This option adds the bus structure 
%                 to bus signal names as a prefix, in case different buses contain signals with identical names.
%                 If the bus structure has too many hierarchies, the two new options prevent the signal names from 
%                 exceeding the maximum number of 73 characters, by shortening the prefix at the beginning or the end
%                 A detailed description can be found in the configuration documentation.
% 
%         #9804:  We fixed an issue related to the InheritInputDataTypes option. If the input interface of a test object
%                 contains vector signals in buses, the signals are no longer converted to a specific data type, in case
%                 this option is activated.
%
%                 The "Data Type Override (True Doubles)" option is now reset in the test bed after each batch run. 
%                 Rebuilding the test bed is no longer necessary, when the option is deactivated again.
% 
%         #9911:  We have accelerated the textual output of vectorial values, which means that reports and catalogs are
%                 now generated faster. This will be particularly noticeable when outputting larger vector parameters.
%
%         #10013: If a test sequence is deleted using the menu, the associated coverage data is now also properly deleted.
%                 This affects both the coverage data of the test sequence itself, and the aggregated coverage data for
%                 the test object, ensuring that no inconsistent coverage results are shown in the reports.
%                 In order to get the correct aggregated coverage values of the test object, only one test sequence has to
%                 be executed again, with coverage enabled.
%
%         #10035: We fixed an issue where the user was not correctly informed if an error occurred during testbed
%                 preprocessing. The batch execution now displays a NOT OK as the result.
% 
%                 In addition, there is no longer an attempt to carry out further actions for the test object in batch 
%                 mode, if the test bed could not be created correctly.
% 
%                 If an error occurs during the execution of a test case when determining the model coverage, the user
%                 is now immediately informed of this error. Previously, the test case ran without coverage instead, 
%                 without reporting that coverage data was missing.
% 
%        We have updated various chapters of the user guide for better understanding. 
%
%%  MTest v 7.8.0 (April 2022)
%
%    - Improved Support for AUTOSAR Models
%        The use of Embedded Coder AUTOSAR models is better supported now. If the model is recognized as an
%        AUTOSAR model, the model settings are now also transferred to the test bed. This feature is only available
%        for MATLAB 2018b and newer and not in combination with CTC Coverage. (#9785)
% 
%    - Test Case Generation for More Complex Requirements
%        We fixed an issue resulting in test case generation sometimes failing to generate test sequences when the 
%        condition of the requirement consisted of multiple AND and OR conditions linked together by parentheses. 
%        Test sequences are now generated for this type of requirement. (#9488)
% 
%    - TargetLink Models with Simulink Test Objects
%        The test bed generation of test objects that are in a TargetLink model but consist exclusively of Simulink
%        elements with virtual buses is fully supported now. (#9787)
% 
%    - Bug Fixes and Stability Optimization
%        This release also focused on fixing bugs, optimizing stability, and improving user experience. These affect a 
%        wide range of functionalities in MTest, from generating test cases and the test bed to simulation and result
%        evaluation.
% 
%        #9857: Very long signals are no longer an issue for the assessment analyzer. Previously, sequences with very
%               long signals could cause MTest and MATLAB to freeze when plotting graphs of passed and failed
%               regions in the sequence-assessment view. This has been fixed now. 
% 
%        #9854: We fixed a runtime error that could occur when generating the interfaces file of MARS and MTCD and was
%               caused by signals having the same name as protected variables, for example PI. Please note: Some names
%               of MATLAB function, MTCD functions, or special value names in MATLAB are still not valid for use as
%               signal names, for example PI, nan, inf.
% 
%        #9853: We fixed a runtime error that occurred when the model's path changed or was temporarily unavailable. This 
%               prevented further processing of MTest, even if the model was not needed for this. The adaptation was made
%               for Windows and Linux systems.
% 
%        #9852: We fixed an issue where an empty logged signal resulted in signal logging not working at all. This can
%               happen when signals are logged in a subsystem that is not triggered in the test sequence.
% 
%        #9851: We fixed an issue with the CTC configuration where an additional TargetLink default configuration file
%               caused the coverage not to be performed correctly. 
% 
%        #9809: We fixed a runtime error that could occur when the Lismo settings file could not be read. A useful error 
%               message has now been added to the reported error, which helps users to find the cause of the problem 
%               more quickly.
% 
%        #9796: We fixed a bug for simulations with variable step size where the simulation and the result data output
%               was configured by the user for different workspaces. This is particularly interesting for TargetLink
%               models on newer MATLAB versions in which the simulation workspace is always forced to the base workspace.
% 
%        #9777: We fixed an error that prevented the automated import of the MTCD test sequences within the batch run. 
%               This error occurred in particular for TargetLink projects and when using MTCD in Excel.
% 
%        #9740: We fixed a bug where input signals might be assigned the wrong data type if a signal name appears twice 
%               in the inports. Please note: If several inputs of a test object have the same name, this is only
%               permissible if they are exactly the same signal! This problem usually only occurs with bus signals.
% 
%        We fixed an issue resulting in unnecessary warnings when importing MTCD test sequences from an Excel file.
% 
%        We removed unnecessary warnings related to ignoring subsystems in coverage. These warnings are only of
%        interest when running the simulation, but do not provide any useful information when collecting the result data
%        or generating the reports.
%
%%  MTest v 7.7.0 (December 2021)
%
%    - Support for Enumeration Definitions in Simulink Data Dictionary
%
%        - Enumeration Definitions with Numerical Values in MTCD & MARS Interface File
% 
%           In addition to the symbolic name, the numerical values of the enumerations
%           are now also written in the MARS and MTCD interface file with the extension *.io. 
%           Likewise, numerical values can be assigned for manually added enumerations too.
%           This makes it possible to use the symbolic name of enumerations instead of the
%           numerical value in MTCD and in MARS for signals and parameters, if a model has
%           SLDDs set as workspace. It may be necessary to carry out a new, once-off interface
%           analysis and a re-import of the test sequences.
%    
%        - Proper Closing of Simulink Data Dictionaries
%    
%           When creating a testbed, MTest also creates a copy of the original SLDD from the
%           model. This ensures that the test does not alter the original model and that a 
%           reset of the test data can be done between simulations. If enumerations are used
%           within the SLDD, the alternating access to the SLDD of the model and the 
%           test-bed often leads to problems in MATLAB, since enumeration definitions may
%           only exist once.
%           To minimize these conflicts, a new option has been introduced to close the model
%           and the testbed with their associated SLDDs whenever necessary. This option is
%           available for Embedded Coder models in MATLAB 2018b and newer, as the correct
%           functioning can only be guaranteed here.
%    
%           The new parameter for this is "SupportEnumDefinitionsInSLDD" and can be found in
%           the menu under "Manage Project Configuration" or in "MTest_Configuration.m".
% 
% 
%    - Undefined Areas in Logged Signals (#9343 & #9389)
% 
%        During signal logging there may be time intervals, where signals are not defined 
%        e.g. due to logging of states in state machines or triggered subsystems. If no 
%        values are available for time steps, these are provided in MTest by default with
%        a NaN value so that all the signals have the same format for further processing.
%        In this way, the results show only the values that the simulation actually determined.
%        However, writing assessments or interpretation of the data can be easier if NaN values
%        are replaced by the omitted numerical values in the signals. Therefore, these
%        undefined areas can now be filled in by holding the last valid value to improve
%        evaluation and reporting.
% 
%        The new parameter for this is "LoggedSignalsFillNaNs" and can be found in
%        the menu under "Manage Project Configuration" or in "MTest_Configuration.m".
% 
%    - Bug Fixes
%        #9532: Improved error message that shows during report generation caused by using
%               project paths that are too long.
% 
%        #9517: Support for the TargetLink properties 'Inherit' and 'Uniform Elements'
%               on bus signals when building a test-bed.
%
%%  MTest v 7.6.0 (September 2021)
%
%    - Handling of MARS/MTCD Interface-Files
%        The *.io files are now being updated together with the interface analysis 
%        without needing to open the Editor. This ensures the correct interface 
%        information in particular during the batch runs.
%
%    - Manual Enumeration Definitions
%        Now enumerations are not deleted from the *.io files if they were not 
%        found during interface analysis. This allows the manual definition of enumerations
%        next to the automatically inserted definitions. 
%        Note: Outdated enumeration definitions should be deleted manually when necessary.
%
%    - TargetLink Bus Vector Handling
%        The interface analysis is now able to handle TargetLink bus vectors. (#9167)
%
%    - Coverage Filter Information in Reports 
%        The test report now shows if a coverage filter is configured. (#7767)
%
%    - Protected Referenced Models
%        During testbed generation, protected referenced models are now included 
%        correctly into the testbed. (#9229)
%
%    - Logged Signals in Referenced Models
%        This fix resolves a problem regarding referenced models, when signal data is
%        logged in state machines. 
%
%    - Further Bug Fixes
%        #7361: In case the user aborts the batch execution manually they 
%               will now be informed that the aggregated model coverage
%               data is not available.
%        #7356: The execution date in the main GUI now corresponds to the
%               timestamp of the output data for the currently selected
%               execution mode. It is marked as outdated if the input data
%               is newer than the simulation date.
%
%%  MTest v 7.5.0.Linux (August 2021)
%
%    - Beta Version for Use of MTest in Linux CI Environments
%        In the context of CI applications, MTest can now also be used on 
%        Linux operating systems, especially for the execution of CI batch 
%        runs. The following functional limitations should be noted:
%
%           - Testing of TargetLink models is not supported.  
%           - Project paths must not contain backslashes.
%           - The older Excel format *.xls is not supported. Prior to 
%             import, please convert your requirement and/or MTCD test 
%             specification documents, originally saved as *.xls files, 
%             into *.xlsx files.
%           - Collection of code coverage data with Testwell CTC++ is 
%             not supported. However, code coverage with Mathworks'
%             Simulink Coverage Toolbox is working.
%           - The application of custom data logging configurations 
%             (originating from modified testbeds) cannot be performed.
%           - Excel documents cannot be opened from within MTest.
%           - The MTest Specification Editor is not part of the prototype 
%             release and therefore cannot be used.
%           - Please note that it might be possible that currently limited
%             functionality, e.g. support of *.xls files, may lead to 
%             MATLAB errors due to missing interceptions in all misuse 
%             cases.
%           - The default build directory ('C:\work\MTest_Batch_Projects\')
%             was not adapted in MTest_Demo_Build_Autopilot.m (Line 114).          
%
%      We encourage all Linux users to report any further issues.
%
%
%%  MTest v 7.5.0 (June 2021)
%
%    - Provision of Enumerations for Use in the MTest Specification Editor
%        With this version, MTest is able to automatically provide the test
%        object's interface signals and workspace parameters of type 
%        enumeration (including their members) for use in the 
%        MTest Specification Editor. Both signals and parameters are now 
%        automatically written to the *_interface.io file.
%        Note: Enumerations defined in Simulink Data Dictionary cannot be
%        used in MTCD and MARS yet. Please keep using their respective
%        numeric values instead.
%
%    - Possibility to Provide a Default Configuration
%        There is now a way to provide a standard configuration for the 
%        MTest projects that need to rely on one. For this purpose, the 
%        function <MTESTROOT\bin\AddOn\ConfigMan\MTest_getConfigData.m> is  
%        delivered as source code with this release. The values of the
%        variable "DefaultValue" can be adapted individually for each 
%        configuration parameter in the source code. 
%        Please note: Changes are only allowed to the variable 
%        "DefaultValue". Any changes to other variables (e.g. Section, 
%        Name, Levels) may cause MTest to malfunction.
%    
%    - New Option for Signal Data Type Analysis of TargetLink Subsystems 
%        In this version of MTest a new configuration option has been added
%        to specify at which interface level the signal data types of 
%        TargetLink subsystems are to be analyzed: either at the outer 
%        boundaries of the TargetLink intermediate layers or directly at 
%        the TargetLink ports of the actual TargetLink subsystem.
%        For this purpose we introduced the parameter 
%        TargetLinkPortAnalysisSource. It can have the following values:
%           
%           0: The interface data is analyzed at the Simulink ports of the 
%              TargetLink subsystem, i.e. at the ports located within the 
%              Simulink subsystem which is two levels above the actual 
%              TargetLink subsystem.
%           1: The interface data is analyzed directly at the TargetLink 
%              ports of the TargetLink subsystem.
%           The default value is 1.
% 
%    - Support for Displaying Complex Signals in the Assessment Analyzer
%        In order to display complex (mathematical) signals 
%        (e.g. a = sqrt(-1)) in the Assessment Analyzer, they are now split 
%        into their real and imaginary parts and displayed separately.
%
%    - Further Bug Fixes
%        #7929: This fix corrects a misbehavior where after deleting a MARS 
%               requirement, the associated generated assessment persisted. 
%               Now it is ensured that only generated assessments based on 
%               valid MARS requirements exist.
%        #8557: This fix ensures that the port names are used for output 
%               buses if the setting of the configuration parameter is 
%               "SourceForSignalNaming = 1". In the past it happened that 
%               despite this setting the signal names were applied for use 
%               in MTest.
%        #8671: This fix ensures that generated code is properly simulated
%               during Embedded Coder SiL. Previously, it could happen 
%               that in SiL mode the MiL test bed was mistakenly used for 
%               simulation. Now, the batch test ensures that, if no code is 
%               currently available, it is also generated before a SiL 
%               simulation, even if the "Code Generation" batch action is 
%               not active.
%        #8992: This change fixes the bug where the batch test crashes if 
%               there is no interface file and the batch action 
%               "Regenerate Testbed" is selected.
%        #9014: This fix suppresses the output of a specific warning 
%               message when applying model coverage filtering to items 
%               inside linked libraries. In addition, improved error 
%               handling has been introduced in case the above filtering is 
%               applied in conjunction with activated TargetLink code 
%               coverage filtering.
%        #9063: This change ensures that the user gets an explicit feedback
%               in case the conversion of the system under test to a
%               referenced model fails (e.g. a masked test object that 
%               defines initialization code in the mask). Previously, this 
%               could lead to an easy-to-overlook failure when trying to 
%               set up the coverage.
%        #9076: This fix eliminates the Test Data Viewer crashing when 
%               trying to display expected output signals in case the 
%               corresponding data file is empty.
%        #9088: This fix resolves a testbed simulation failure due to a
%               version mismatch of referenced models within the testbed. 
%               Now the model reference block within the testbed is 
%               automatically refreshed during testbed generation.
%        
%
%%  MTest v 7.4.0 (April 2021)
%
%    - Batch Regeneration of Test Sequences from MARS Requirements
%        Similar to the batch regeneration of assessments the user is now 
%        able to regenerate test sequences from MARS requirements within 
%        the batch test. For this purpose, the new option 
%        'Regenerate & Import Test Sequences' is available within the Batch 
%        Test GUI. 
%        Please note: During batch regeneration of already existing 
%        generated test groups, the corresponding MTCD files (*.mtcd) are 
%        backed up in the corresponding test object directory of the editor 
%        workspace (i.e. <TESTPROJECTDIR>/editorWorkspace/...
%        <MODELNAME_TESTOBJECTNAME>/*.mtcd_backup_YYYY-MMM-DD_HH-MM-SS). 
%
%    - User Rationales for Model Coverage Filtering (#8838)
%        Within the Coverage Filter Configuration, the user can now provide 
%        their own comments to justify ignoring the selected subsystem. 
%        These annotations are also included in the corresponding
%        Simulink Coverage Report. For this purpose, the field 'Rationale' 
%        has been added to the structure containing the ignore list.
%        Please refer to the example below:
%
%           CovFilterConfig.IgnoreList = [ ...
%           struct('Path', '<SUBSYSTEM_A/<SUBSYSTEM_B>' ...
%                 ,'SID' , ''...
%                 ,'Rationale' , 'This is excluded because of ...'...
%                 ); ...
%           ];
%
%    - Selection of Subsystems within Referenced Models for Coverage Filtering
%        Subsystems of a test object that are located within model 
%        references can now be selected via the selection GUI. 
%        In order to be able to select these subsystems, it is necessary 
%        that the testbed is built while resolving the model references. 
%        For this purpose, it must be ensured that the corresponding 
%        project parameters 'TargetLinkResolveRefModels' and 
%        'EmbeddedCoderResolveRefModels' are each set to 1.
% 
%    - Ignoring of Model Block Instances for Model Coverage Filtering (#8838)
%        In addition to the existing possibility of excluding entire 
%        subsystems from the structural coverage calculation, it is now 
%        possible to exclude individual block instances from the model 
%        coverage calculation. Please see the example below:
% 
%           CovFilterConfig.IgnoreList = [ ...
%           struct('Path', '<SUBSYSTEM_A/<SUBSYSTEM_B>/<BLOCK_X>' ...
%                 ,'SID' , ''...
%                 ,'Rationale' , 'This is excluded because of ...'...
%                 ); ...
%           ];
% 
%        Please note: This type of exclusion is only available for the 
%        model coverage. If your use case calls for both model and code
%        coverage you are strongly advised to only ignore subsystems.
%        If block instances - other than subsystems - are ignored you are 
%        advised to disable the code coverage filters by setting your 
%        configuration parameters 'TLCodeCoverageFilterEnabled' and 
%        'CTCCodeCoverageFilterEnabled' respectively to 0.
%
%
%    - Enumeration Members Available for Use in MTCD 
%      (#6417, #7875, #8609, #8611)
%        With this release, enumerations can be used within MTCD test
%        descriptions. For this purpose, the required 
%        enumerations and their members must be declared in the interface 
%        file. Here is an example:
%
%           enum Color {
%               Red
%               Green
%               Blue
%           }
%
%        Please note: The declaration of the enumerations in the 
%        corresponding *.io file must be done manually for now. Automatic 
%        retrieval of the enumerations used by the test object will be  
%        available in future MTest releases.
%
%    - New Option for Handling Input Data Type Conversion within the TestBed
%        We introduced a new configuration option that controls the 
%        settings of the data type conversion blocks in the generated 
%        testbed. 
%        For this purpose we introduced the parameter  
%        InheritInputDataTypes. It can have the following values:
%
%           0: Inactive. (Input data type conversion is set to the data 
%              type according to interface analysis)
%           1: Active. (Input data type conversion is set to 
%              'Inherit: Inherit via back propagation'.
%           The default value is 0. 
%        
%        Please note: While this option is active it may lead to signals 
%        with under-specified data types - depending on the test object. In 
%        this case Simulink will display specific warnings.
% 
%    - Discontinued Support for MATLAB R2011b to R2013a
%        This release officially does not support MATLAB R2013a to  
%        version R2011b. From now on, MTest officially supports MATLAB
%        R2013b-R2020b.
%
%    - Further Bug Fixes
%        #8920: This fix ensures that the testbed is compilable during its 
%               generation. In the past, this could lead to errors with 
%               TargetLink test objects that required a rescan of the buses.
%        #8928: With this fix the access to parameters of type 
%               Simulink.Parameter in MARS has been simplified. These can 
%               now be queried directly, i.e. access via 
%               MySimulinkParameter.Value is no longer necessary.
%        #8943: This change has made the documentation of the project or 
%               test authors more consistent. The catalogs now uniformly 
%               list the project author in their respective headers, while 
%               the headers of the test reports, on the other hand, show 
%               the respective test authors.
%        
%
%%  MTest v 7.3.2 (March 2021)
% 
%    - Data Logging for Testbeds with Test Objects Integrated as 
%      Referenced Models
%        With the introduction of Simulink Code Coverage support for 
%        Embedded Coder models, we had to adapt the test bed generation 
%        accordingly (see also Release Notes for MTest v 7 3.0). The test 
%        objects are integrated here via reference models. With the release 
%        of MTest v 7.3.0, test beds built in this way could cause errors 
%        when saving and applying user-created data logging configurations. 
%        These errors are now fixed with this update release.
% 
%    - Ignoring Model Coverage for Testbeds with Test Objects Integrated as 
%      Referenced Models
%        For testbeds integrating the test object as a referenced model
%        (see above) the user is now able to select the subsystems which
%        shall be ignored during coverage measurement. Also, already
%        existing coverage ignore configurations can now be applied to
%        those testbeds.
%
%    - Improved Batch Generation of Assessments from MARS Requirements
%        With this update release we facilitate the generation of 
%        assessments from MARS requirements when the batch test is set up 
%        programmatically.
%
%    - Further Bug Fixes
%        #8565: Solves the problem that configuration files were mistakenly
%               detected when they are located in the MATLAB path, but
%               not in the project tree, e.g. in the model folder.
%        #8781: This fix ensures the proper detection of data types on 
%               TargetLink bus elements whose destination block is a 
%               TargetLink AUTOSAR block.
%        #8816: With this fix we make sure that referenced configuration
%               sets are resolved properly. In the past, the testbed
%               generation caused an error leading to testbeds that cannot
%               be simulated.
%        #8837: This fixes an error during import of MTCD test sequences
%               that do not contain any assignment of values to signals.  
%        #8841: This fix prevents the MiL simulation being aborted in case
%               Simulink.Parameter are stored in the Simulink Data
%               Dictionary. In the past an error occured due to the fact
%               the data was defined in the both the Data Dictionary and
%               the base workspace.
%        #8852: This fix enables code generation for Embedded Coder models 
%               in MATLAB R2020b.
%        #8853: With this fix we make sure that the Simulink Data
%               Dictionary receives an update when the user loads test case 
%               data via the menu option "Execution -> Load Data for Debug
%               Simulation"
%        
%
%%  MTest v 7.3.1.Linux (February 2021)
%
%    - First Prototype for Use of MTest in Linux CI Environments
%        In the context of CI applications, MTest can now also be used on 
%        Linux operating systems, especially for the execution of CI batch 
%        runs. The following functional limitations should be noted:
%
%           - Testing of TargetLink models is not supported.  
%           - Project paths must not contain backslashes.
%           - The older Excel format *.xls is not supported. Prior to 
%             import, please convert your requirement and/or MTCD test 
%             specification documents, originally saved as *.xls files, 
%             into *.xlsx files.
%           - Collection of code coverage data with Testwell CTC++ is 
%             not supported. However, code coverage with Mathworks'
%             Simulink Coverage Toolbox is working.
%           - The application of custom data logging configurations 
%             (originating from modified testbeds) cannot be performed.
%           - Excel documents cannot be opened from within MTest.
%           - The MTest Specification Editor is not part of the prototype 
%             release and therefore cannot be used.
%           - Please note that it might be possible that currently limited
%             functionality, e.g. support of *.xls files, may lead to 
%             MATLAB errors due to missing interceptions in all misuse 
%             cases.
%           - The default build directory ('C:\work\MTest_Batch_Projects\')
%             was not adapted in MTest_Demo_Build_Autopilot.m (Line 114).          
%
%      We encourage all Linux users to report any further issues.
%
%
%%  MTest v 7.3.0 (December 2020)
% 
%    - Embedded Coder Code Coverage 
%        Users of embedded coder models can now also collect their code 
%        coverage using the Simulink Coverage Toolbox. 
%        For this purpose, the creation of the testbed has been changed. 
%        The selected test object is converted into a referenced model and 
%        automatically inserted into the testbed. In order to be able to 
%        use the Simulink Coverage Toolbox, the corresponding project 
%        configuration must be adapted. The parameter 
%        CovEmbeddedCoderCodeCoverage was introduced for this purpose. 
%        The parameter can have the following values:
%
%           0: Testwell CTC++ 
%           1: Simulink Coverage
%           The default value is 0. 
%              
%        The following limitations remain in effect:
%           - Simulink Coverage is only available for MATLAB R2018b  
%             and newer
%           - Coverage ignore mechanism is not supported
%
%    - Batch Creation of Assessments 
%        In this new version it is possible for the user to generate 
%        assessments from MARS requirements within the batch test. For this 
%        purpose a new Batch Action (Regenerate Assessments) is available 
%        within the Batch Test GUI.
%        In this context, the GUI layout of the available batch actions has 
%        also been redesigned. In particular, the options for updating 
%        (or regenerating) (MARS-based) test elements are now arranged more 
%        clearly.
%        Please note: Before executing the batch generation of 
%        assessments from MARS requirements, the corresponding storage 
%        directories of the assessment files are deleted each time.
%
%    - Automatic Read Out of Signal Characteristics of Bus Elements (#8535)
%        The test case generation has been improved in that the signal 
%        characteristics of bus elements are automatically read out from 
%        the test object input interface and from signal attribute 
%        definitions defined higher in the model hierarchy (if the model is
%        compilable). The user no longer has to enter this information 
%        manually in the <TESTOBJECTNAME>_interface.io file.
%
%    - Further Bug Fixes
%        #8472: Previously, function calls were being misinterpreted as 
%               data type, resulting in them being used in the data type 
%               conversion block. This lead to errors when trying to 
%               simulate the testbed. This has been fixed now.
%        #8566: This solves the issue of MARS assessments not being counted
%               and displayed in the main GUI and evaluation configuration
%               GUI. However, they have always been evaluated.
%        #8591: With this fix we solved the problem of losing the filter
%               configuration when leaving the changed testbed unsaved, 
%               and the user (or MATLAB) closes the testbed. Now we save 
%               the testbed after changing the coverage filter settings.
%        #8652: This fix supports the specification of relative paths 
%               within the testbed's TargetLink Data Dictionary using '.\' 
%               as well.
%        #8658: This fixes an issue of logged signals not being available 
%               to the assessments. This could have occurred in the batch 
%               mode in case both the MiL and SiL simulation were activated 
%               at the same time.
%
%
%%  MTest v 7.2.0 (September 2020)
% 
%    - ReqIF Export of MARS Requirements
%        Formalized requirements created with MARS can be exported to
%        *.reqif file format now. The export file is created automatically
%        when saving the *.mars file in the MTest Specification Editor. 
%        The file is stored alongside your *.mars file under: 
%           \<testProject>\editorWorkspace\<testModel>_<testObject>\...
%            <testModel>_<testObject>.reqif
%        Info: As of yet, the specifications of defines are not exported to
%        the *.reqif file. This will be done in a future release.
%
%    - Testbed Generation Supports Resolving of Referenced Subsystems 
%      (#7923, #7957)
%        With this release we support the resolving of referenced 
%        subsystems (as introduced in R2019b) during testbed generation. 
%        Referenced subsystems are handled in analogy to referenced models, 
%        i.e. they are converted to subsystems. This only affects the 
%        testbed, there will be no changes to the source model.
%
%    - New Default Handling of Library Links and Model/Subsystem References
%        When generating a testbed all links to libraries and referenced
%        models/subsystems are resolved by default. This only affects the 
%        testbed, there will be no changes to the source model. 
%        The respective elements are converted to subsystems to ensure an 
%        invariant testbed. However, the behavior can be changed by means 
%        of the respective project configuration parameters. These are:      
%
%           - TargetLinkResolveRefModels - Valid options are: 
%               0: The testbed will refer to the original referenced 
%                  TargetLink models
%               1: All references to TargetLink models will be resolved 
%                  (i.e. converted to subsystems)
%             The default value is 1.
%
%           - EmbeddedCoderResolveRefModels - Valid options are: 
%                0: The testbed will refer to the original reference 
%                   Simulink/Embedded Coder models or subsystems
%                1: All references to Simulink/Embedded Coder models or 
%                   subsystems will be resolved (i.e. converted to 
%                   subsystems)
%                   The default value is 1.
%
%           - TestbedBreakLinks - Valid options are: 
%                0: Original links to libraries will remain in the testbed 
%                1: Links to libraies will be broken (i.e. converted to 
%                   subsystems)
%             The default value is 1.
%
%    - Improved Synchronization of Workspace and TargetLink DD (#7110, #7988)
%        In order to vary parameters that are defined as Data Dictionary 
%        variables (ddv) MTest now ensured ddv parameters are synchronized 
%        with your test (sequence) data prior to each simulation. Previously, 
%        this was only handled in batch mode. 
%        With this release it is also ensured that the synchronization also 
%        takes place when simulating the test sequence manually via the main 
%        GUI.  
%
%    - Improved Handling of Coverage Data (#8060, #8477)
%        Coverage data handling is improved such that MTest will clear 
%        possibly outdated data from the project. This ensures that the 
%        test sequence and coverage reports always contain up-to-date data.
%        This ensures that no "old" coverage data is present, for instance, 
%        in case a test sequence re-simulation has failed. You are advised
%        to rerun your TargetLink Code Coverage simulations when updating 
%        to MTest 7.2.
%        Info: Already determined code coverage data will not be deleted 
%        after the regeneration of code.
% 
%    - Display Effective Interface Data in Test Sequence Report (#8335)
%        The sections "Test Input" and "Test Output" of the Test Sequence 
%        Report show the respective signal data as specified in the 
%        Effective Test Interface. 
%
%    - Requirements Traceability for Generated Test Sequences (#8109, #8357)
%        Test sequences - generated from MARS formalizations - do also 
%        link to external requirements now. This is particularly beneficial 
%        for users that refer to external requirements as the base for 
%        requirements traceability. Please note that the requirement link 
%        of the respective MARS formalization is used. 
%    
%    - Ignore Coverage of Subsystems Within Libraries (#8256)
%        In case subsystems to-be-excluded from coverage measurement reside 
%        within a library, those subsystems can now be ignored when using 
%        the option.
%
%    - Source for Signals Names (#8500)
%        Now, the user has the possibility of specifying the source for 
%        naming the testbed's input and output signals. The selection is
%        made using the project configuration parameter 
%        "SourceForSignalNaming". Valid options are:
%           0: signal names are used
%           1: port names are used
%        The default value is 0.
%        Please note: For interface bus signals it may be the case that we 
%        still have to fall back on using the respective signal names of 
%        the bus elements.
%
%    - Further Bug Fixes
%        #6900: We ensured a unique namespace of MTest-internal functions 
%               (e.g. findfiles.m renamed to MTu_findfiles.m) in order to 
%               avoid name clashes between MTest and customer (utility) 
%               functions.
%        #8036: Fixes the issue that an MTest_Configuration.m file is
%               created in the current folder while changing from the
%               current project to "No project selected...".
%               Note: The configuration was empty, thus not affecting 
%               the project.
%        #7235: Fixes the issue of not opening the proper Data Dictionary 
%               (i.e of the source model) while adding a new test object to 
%               the project.
%        #7920: This solves the issue of MTest not being able to open the 
%               Model Coverage Dialog when using MATLAB R2019a and newer.
%        #8123: This fix solves the issue of not measuring the MCDC 
%               coverage when the option "ReGenerate TestBeds" is enabled
%               during Batch Test. Instead, a default setting (Condition, 
%               and Decision Coverage) was used.
%        #8146: Fixes an issue of generated assessment whose the trigger 
%               condition contains a duration expressed by means of an
%               equation. Now, a proper parenthesization is ensured. 
%        #8196: This fix ensures the reset of the TargetLink Simulation 
%               mode when changing the test project.
%        #8235: Fixes the issue of testbeds not properly reflecting the 
%               structure of buses defined in the TargetLink Data
%               Dictionary.
%        #8285: This fix will prevent that expected output definitions 
%               during measurement data import will be copied into output 
%               data files. Under certain circumstances, this could have 
%               led to confusing evaluation results. This safeguards that 
%               expected output definitions will have an impact on other 
%               evaluation methods.
%        #8295: Solves the error of vector length mismatch during MiL
%               simulation. This issue could have occured for MiL 
%               simulations in fast restart mode while the Simulink 
%               configuration parameter LimitDataPoints is active. Now, we 
%               try to deactivate it.
%        #8296: Solves the "s-function not found" issue when running a 
%               Batch Tun with a TargetLink model, using the Fast Restart 
%               option. In case no code was generated before, this 
%               particular combination of actions could result in the code 
%               generation not triggering during the batch run.
%        #8326: Fixes the issue where the MTCD specification document is 
%               repeatedly imported after each batch action while 
%               simulating the testbed in fast restart mode.
%        #8334: This fix catches the error that occurs while trying to
%               open the model coverage dialog via the MTest GUI in case
%               the Simulink Verification and Validation Toolbox or
%               Simulink Coverage Toolbox are installed on the user's
%               system but do not feature a valid license for those 
%               toolboxes.
%        #8339: Fixes an issue when generating assessments based on formal
%               requirements that refer to parameters that are of integer
%               data type.
%        #8358: Solves the issue of global simulation parameter 
%               (e.g. Variable-Step Solver) not being applied to Embedded 
%               Coder models during Batch Test.
%        #8384: Fixes an issue that lead to a crash while trying to using 
%               the MARS expression 'the system starts' within a define.
%        #8393: Fixes an issue where, in rare cases, the TargetLink code 
%               coverage data contained outdated datasets. We make sure 
%               that there is only one data set of TargetLink code coverage 
%               per test sequence. Old data, e.g. from previous runs, is 
%               not considered and thus it is made sure that the code 
%               coverage data originates from the latest test sequence 
%               execution.
%        #8436  This fixes an issue where buses have not been resolved
%               properly in order to make the individual bus elements (i.e.
%               signals) available in the *_interface.io file.
%        #8451: This fix ensures that the testbed generation includes the 
%               automatic rescan of the testbed's TargetLink Bus Ports.
%               Please note: To be able to rescan the ports, the testbed 
%               needs to be capable of being updated. Therefore, the 
%               testbed needs test data in order to be compilable. You may 
%               get an error message regarding a failed bus port update 
%               upon initial testbed generation. The testbed is still build 
%               correct whatsoever. You are advised to regenerate the 
%               testbeds after you have imported a test sequence.
%        #8456: See #8393.
%        #8472: Fixes an issue with the testbeds of a triggered subsystems. 
%               Here, function calls were misinterpreted as data types and
%               thus trigger signals mistakenly underwent a data type 
%               conversion. 
%        #8490: Improvement to the file header descriptions of 
%               MTest_BatchProject.m und MTest_ExecuteBatchTest.m.
%        #8493: This fix reacts to warnings during testbed generation in 
%               MATLAB 2020a due to deprecated block parameters of the
%               Data Type Conversion block.
%        #8510: Previously, when the code generation failed, there were 
%               error messages claiming an invalid Simulink object within 
%               the testbed, that occurred in all MTest actions thereafter. 
%               This fix ensures the validity of the testbed even after a 
%               failed code generation.
%        #8536: See #8436.
%        #8548: With this fix we ensure that the TargetLink simulation mode 
%               is always set back to MiL when regenerating the testbed. 
% 
% 
%%  MTest v 7.1.0 (June 2020)
% 
%    - Import of External Requirements Using the *.reqif Format
%        With this release, MTest enables you to also import your 
%        requirements from *.reqif files (Requirements Interchange Format).
%        The import is fully configurable. All import tags can be set in 
%        order to read the respective requirement attributes (e.g. ID, 
%        Description, etc.) according to the custom format of your 
%        requirements document. Also, by defining the specification type
%        the import can be tailored to import only specific requirements. 
%        In this release, the import of attributes is limited to 
%        string data type (i.e. attributes of type XHTML are not supported, 
%        yet).
% 
%    - Graphical User Interface for Configuration of Requirements Import
%        Now, the import of your requirement documents (*.xlsx and *.reqif)
%        is fully supported by a graphical user interface. You can access 
%        the interface from the MTest menu bar via 
%        "Requirements / Configure Requirements Import" or via the button
%        "Configure" in the "Requirements" panel.
%        Here, you can easily specify the import settings, i.e. the 
%        elements of your requirements document that shall be carried over 
%        to MTest. Also, the setting of filter rules for the automatic 
%        determination of the requirements' testability was improved to be 
%        more intuitive and user friendly.
% 
%    - Further Improvement of Test Case Generation
%        This new release includes some further improvements to the
%        requirements-based test case generation. These are:
%         - The ranges of your interface signals ([Min Max]) are read from 
%           the model directly, so that your already implemented signal 
%           ranges are carried over to the MTest Specification Editor 
%           automatically (upon initial creation of the *_interface.io file).
%           Please note: The Min/Max values are not read from TargetLink
%           ports.
%         - Boolean signals are now handled automatically. You do not have
%           to specify signal range and resolution for this signal type.
%         - With respect to the signal data type, the resolution is set 
%           automatically (i.e. 
%              - Boolean, integer        -> resolution = 1;  
%              - single, double, fixdt   -> resolution = 0.1
%           However, the user can specify a custom resolution value within 
%           the *_interface.io file.          
%         - The internal test case generation algorithm was made more 
%           robust in order to prevent any memory overflows during solution 
%           computation.    
% 
%    - Extension of Project Configuration
%        The evaluation configuration (assessment, signal comparison, 
%        expected output) is now integrated into the project configuration. 
%        On the one hand the user benefits from the convenience of 
%        specifying the evaluation configuration for a given test level 
%        (test project, test model, test object, test group, test
%        sequence). On the other hand the evaluation configuration can be
%        defined within a central, external project configuration and thus 
%        can be distributed to different MTest projects by means of 
%        referencing it. In addition, it is now possible to specify that a 
%        given test project level (e.g. test group) shall inherit its 
%        evaluation configuration from a level that is higher up in the 
%        project tree (e.g. test object or external). Furthermore, the 
%        evaluation configuration GUI was enhanced to better browse the 
%        test project tree. Now, the user has the option to display all 
%        test groups and/or test sequences.
%        Upon initial opening of an MTest project created with MTest 7.0 or
%        older, the migration of the previous evaluation configuration is 
%        carried out automatically.
%  
%    - Exclusion of Selected Signals from Regression Test
%        With this release, the user can now select which signals shall be 
%        excluded from a regression test. The evaluation result for those 
%        signals is rendered to 'Not Triggered.' You can access the 
%        interface from the MTest menu bar via 
%        "Evaluation / Manage Reference Data Set."
% 
%    - Improved Handling of TargetLink Parameters
%        The interface analysis was enhanced to recognize TargetLink DDV 
%        parameters. Now, they are read from the model and thus are 
%        available for use in MARS.
%  
%    - License Injection Via MES Jenkins Plugin
%        Now, CI users of MTest do not have to perform the license 
%        configuration on each slave-machine of the CI setup individually 
%        (i.e. MES Jenkins Plugin and multiple instances of MTest). Once 
%        the license of the MES Jenkins Plugin is configured properly, this 
%        information is passed on to MTest and is prepended to the license 
%        configuration of MTest.
%  
%    - Elementary MATLAB Constants Available in MARS (#8107)
%        It is now possible to use elementary MATLAB constants 
%        (e.g. pi, eps, i, inf) within MARS requirements.
% 
%    - Further Bug Fixes
%        #7482: Fixes an issue when the source model utilizes the
%               Data Import/Export configuration parameter
%               'Single Simulation Output.Â’ Previously the simulation data 
%               could not be retrieved when this option was active. This 
%               problem has now been resolved.The option is deactivated for 
%               the simulation.
%        #7894: This fix provides drastically accelerated test sequence 
%               import by optimizing the analysis for logged signals.
%        #7902: This fix enables the user to log signals if the test object
%               is a top-level Stateflow chart.
%        #7922: This fixes an issue with a runtime exception being thrown 
%               during Test Case Generation (TCG) when respective MARS 
%               requirements were using enumeration assignments. Those 
%               requirements are now skipped during TCG.
%        #7926: In the MTest Specification Editor "~=" and "not equal" are 
%               now part of the Content Assist.
%        #7940: This fixes an issue during interface analysis in case a 
%               test object, which is a referenced model, has bus inputs.
%        #7944: The Simulink Data Dictionaries referenced by the currently
%               selected test object are now closed upon selection of
%               another testbed. This prevents issues while compiling the 
%               model due to model and testbed data dictionary being open 
%               at the same time.
%        #7956: This fixes an issue of a failing interface analysis in case
%               (sub-)bus objects have been defined within a Simulink Data
%               Dictionary.
%        #7971: During interface analysis, MTest also collects all
%               parameters (i.e. workspace variables) of test objects that 
%               resemble referenced models. With this fix those parameters
%               are now available for use with MTCD and/or MARS.
%        #7986: This fix enables MTest to recognize signals logged with 
%               TargetLink even if the test object (i.e. the selected 
%               TargetLink subsystem) is set to SiL mode.
%        #8002: This fixes an issue where a Simulink Data Dictionary is
%               being opened once the testbed has been saved. This could
%               have lead to a simulation crash caused by conflicting
%               (multiple) definitions of data due to multiple loaded data
%               dictionaries. See also bug fix #7944.
%        #8004: This fixes an issue where a testbed was not generated in 
%               case an input bus contains elements that are of type 
%               enumeration only.
%        #8041: In case of multiple bus object instances originating
%               from a Stateflow chart the testbed generation now builds
%               bus selectors with the names from the model and not ones 
%               that were renamed by MTest.
%        #8053: Fixes an issue related to test sequences that only set 
%               parameters, and not any signals, that were 
%               only one time step long, ignoring the set duration.
%        #8129: This fix ensures naming consistency when storing logged 
%               signals data and displaying them in the *_interface.io 
%               file. In the past, this could have led to errors handling 
%               logged signals whose name string contained inadmissible
%               characters.
%        #8123: Solves an issue where the coverage settings in the testbed 
%               were reset after regeneration. This fix is especially 
%               helpful in batch mode.
%        #8151: This fixes an issue during test bed generation in case 
%               buses are terminated within a test object.
%        #8188: This fix solves an issue regarding a runtime error when 
%               MATLAB is not able to read an MTCD Excel document during
%               the test sequence import.
%        #8196: This fix ensures that the TargetLink simulation 
%               mode is reset correctly, e.g. when changing the test 
%               project or test object.
%
%%  MTest v 7.0.1 (February 2020)
%
%    - Performance Improvements of Test Sequence Imports (#7648)
%        Crucial data gathering procedures have been reworked so that
%        they do not have to be invoked for individual test sequence
%        imports. Thus providing a significant speedup. For instance, 
%        those procedures concern:
%           - Identification of test object parameters
%           - Retrieval of logged signals 
%           - Compilation of parent model
%
%    - Extended interface analysis of Simulink Bus Objects (#7111, #7377)
%        With this update, MTest is able to create testbeds for test 
%        objects containing signals originating from multiple instances of 
%        (nested) Simulink Bus Objects. To provide unique signal names,  
%        processable within MTest, a new naming pattern was introduced for 
%        those bus elements. The pattern reads: 
%        <busname>_<nestedbusname>_<*>_<buselementname>
%        Per default this naming pattern is inactive. However, the user 
%        has the possibility to activate this option by means of changing 
%        the testbed configuration parameter config.BusElementRenaming 
%        (see MTest menu: "Organization / Manage Project Configuration").
%        Despite of the naming pattern being inactive, MTest detects the
%        necessity of activation during interface analysis. In that case, 
%        the user has the possibility to let MTest automatically adapt
%        the configuration accordingly.
%
%    - Recursive Breaking of Links to Libraries and Referenced Models (#7627)
%        MTest supports the breaking of links during the testbed generation.
%        This works especially well when resolving model references, in 
%        particular when those references are positioned within libraries. 
%        Both features safeguard the invariance of the testbed throughout 
%        the testing process and give the tester flexibility for setting up
%        the testbed according to the requirements of the particular test 
%        project. To activate this feature, a dedicated option within the 
%        configuration management is available for test object and test 
%        project level: config.TestbedBreakLinks.
%
%    - Access of Elements of Vector Parameters in MTCD (#7672)
%        The syntax of the Model Test Case Design language was extended to
%        enable access to individual elements of vector parameters for use
%        within the test sequence specification, for example:
%        p myParamElement = myParamVector(12);
%        Please note: There is no index verification, so the user must 
%        ensure that index does not exceed the number of array elements.
%
%    - Row-/Column-Wise Variation of Matrix Parameters in MTCD (#7207)
%        With this version MTCD supports the variation of entire rows
%        and/or columns of matrix parameters. See below for an example:
%
%        myMatrixParam = [1 2 3; 4 5 6; 7 8 9];%
%        Initialization
%           p myMatrixParam(2,:) = [10 11 12];
%           // or
%           p myMatrixParam(:,3) = [13 14 15];
%
%        Please note: There is no index verification, so the user must 
%        ensure that index does not exceed the number of array elements.
%
%    - Execution of MTest and MXAM at the Same Time
%        There is a demo script available (\demo\MTest_MXAM_SideBySide.m)
%        demonstrating the proper path initialization prior to running 
%        MTest and MXAM, concurrently. Please also refer to Chapter 2.5 of
%        the user guide for a detailed rundown.
%
%   - Further Bug Fixes
%        #7231: Fixes an issue regarding TargetLink mux blocks where the 
%               signal properties have not been transferred properly to 
%               the testbed.
%        #7449: MTest supports the white-listing of testbed subsystems and 
%               referenced models by utilizing the settings defined in the
%               Coverage pane of the testbed model's Configuration
%               Parameters.
%        #7484: Enables the generation of testbeds for Stateflow Chart test 
%               objects outputting buses.
%        #7535: Fixes an issue while generating a testbed based on a parent
%               model utilizing a variable-step solver. In this regard, we
%               ensured the proper handling of the sample time constraint
%               settings.
%        #7628: Fixes an issue while resolving model references within the
%               testbed. In case, the referenced model utilizes a variable 
%               step solver the sample time of new subsystem is set to
%               inherited
%        #7649: Fixes an issue regarding the coverage ignore-list 
%               allocation of TargetLink subsystems with the TargetLink 
%               simulation frame not being on the top level of the test 
%               object.
%        #7651: Fixes an issue where logged signals showing a custom signal
%               name have not been stored properly.
%        #7659: Fixes an issue where the ports of TargetLink subsystems - 
%               allocated to the coverage ignore-list - have not been 
%               enhanced properly (see also #7649)
%        #7740: Fixes an issue where the conversion of time units was not
%               executed for the MARS expression <change with a slope>. 
%               This could have provoked errors during assessment 
%               generation.
%
%%  MTest v 7.0.0 (December 2019)
%
%    - New Command for Starting MTest
%        Now, MTest can be started using the command >> mtest. This opens 
%        the main GUI and loads the most recent project. To start MTest 
%        without any project being loaded, use the command >> mtest('none').
%
%    - New Configuration Management
%        With the new release of MTest, we now provide a method for
%        configuring your test projects more conveniently. You can define 
%        configurations on each available test level, i.e. test 
%        project, test model, test object, test group, and test 
%        sequence, respectively. 
%        Furthermore, you are given the opportunity to refer to an external 
%        configuration so that test project setups can be standardized to 
%        provide a global/company-wide configuration. However, 
%        configuration parameters can be overwritten through specific test 
%        level configurations.
%        This new management supersedes configurations that - in the past - 
%        have been specified within the MTest_UserPrefGUI.m and the 
%        MTc_RCToptProjectSettings.m, respectively.
%        In addition, the configuration parameters are also grouped within
%        categories so that options can be found more easily.
%        You can access the configuration management from the menu bar of 
%        MTest main GUI via "Organization / Manage Project Configuration".
%        The first time you open the new MTest it takes care of migrating
%        previous configurations.
%
%    - Integration of MARS Requirements into the Test Documentation
%        Now, requirements that have been formalized with MARS are
%        represented in the requirements catalog. An overview of the 
%        particular MARS items related to the requirement is now provided. 
%        In conjunction with the new configuration management, you now 
%        define the source of requirements that shall act as the reference 
%        for traceability and metric computation. Available options are:
%         - External requirements (e.g. as imported via Excel) 
%         - MARS formalizations (e.g. as created with the MTest 
%           Specification Editor). 
%        Therefore, the requirement catalog was enhanced to support 
%        documentation for users that work with MARS formalizations only.
%        In order to generate this updated catalog representation for
%        existing test project you are advised to save your existing MARS 
%        document again from within the MTest Specification Editor.
%
%    - Change Impact Analysis Available for MARS Requirements
%        With regard to requirement changes, MTest can now automatically 
%        update the attributes "description" and "status" of the MARS 
%        formalizations that link to a changed external requirement. 
%        For MARS formalizations affected by a change, its "description" 
%        attribute will automatically reflect the new requirement 
%        description. Similarly, the "status" attribute changes to 
%        'reqchanged'.
% 
%   - Online Parameter Modification for SiL Tests of TargetLink Models
%        TargetLink users can now speed up SiL testing by taking advantage
%        of online parameter modifications, which render the regeneration
%        of code unnecessary in case of parameter variations within test
%        sequences, i.e. code is generated only once per test object. The 
%        feature is enabled by activating the respective checkbox in the 
%        MTest batch test GUI.
%        Please note: This feature is only available to users of TargetLink
%        4.0 and newer.
%
%    - Test Case Generation by Variation of Synchronized Lists
%        Users of the test case variation feature can now mark lists of
%        variation points that are kept synchronous during test case
%        generation. Such lists will not be considered for a full 
%        combination, instead those value groups enter the combinatorics as
%        single-entries, i.e. a variation is comprised of the combination 
%        of variation list members sharing the same element index.
%
%    - Further Enhancements of MARS
%        Now, MARS supports unrestricted use of nested "defines", i.e. 
%        event defines are available to state define and vice versa. Nested 
%        defines do work recursively, as well.
%        The status tags 'new' and 'proposed' became deprecated. A quick 
%        fix solution is available in the MTest Specification Editor. The 
%        following mapping is used to replace the old values in order to 
%        ensure consistency to MTCD documents and assessment files:
%         - 'new'      -> 'created'
%         - 'proposed' -> 'described'
%        Also, MARS users can now make use of value tolerances within the 
%        expression 'change with a slope [+- myValue]'.
% 
%   - Adaptions Assessment Utility Functions
%        The following assessment utility functions are now capable of 
%        handling vectors containing NaN values:
%         - MTa_differentiate
%         - MTa_isFall
%         - MTa_isRaise
%
%   - Bug Fixes
%        #7313: Fixes the issue of the model coverage aggregation slowing
%               down the simulations within the batch test. Now, the model 
%               coverage is aggregated after the execution of the last test
%               sequence of the batch run. This even works when not all 
%               test sequences of a test group have been selected.
%               Note: Aggregation is not performed if the batch test is
%               aborted by the user by clicking the "Stop" button.
%        #7339: Fixes an issue where the testbed's Simulink Data Dictionary
%               could not be found although it was present and linked to 
%               the testbed model file.
%        #7407: Fixes a bug where names of logged signals containing
%               blanks, new lines and/or special characters could not be 
%               displayed properly in the MTest Specification Editor. In
%               the past this could have yielded syntax errors within *.io
%               files
%        #7431: Fixes the issue of not showing a blank "Project Settings"
%               window when setting up a new project while project is 
%               loaded in MTest. Instead of empty attribute fields, those 
%               fields showed the content of the currently loaded project. 
%               This caused confusion with users thinking they change the 
%               current project settings.
%        #7463: Fixes the issue where the source model was compiled during 
%               each test sequence import. This significantly slowed down 
%               the entire import process. 
%        #7464: See #7463.
%        #7487: Fixes an issue where parameters of type Enumeration have
%               erroneously been casted to double.
%        #7592: Fixes an issue where the simulation of test beds  - using a
%               variable-step solver - in the base workspace yields 
%               a time vector unequal to the length of the signal output
%               vector(s).
%
%%  MTest v 6.4 (September 2019)
%
%    - (Alpha) Functional Test Case Generation Based on MARS Requirements
%        With the new release of MTest, we now provide a method for deriving
%        test cases on the basis of formalized requirements created with the
%        MTest Assessable Requirements Syntax (MARS). For given types of MARS
%        requirements, the user is now able to automatically generate test
%        cases (incl. test vectors) that will trigger the model behavior as
%        specified by the requirement.
%        This approach accelerates the creation of test cases. Moreover, the 
%        manual effort in composing a test suite is reduced, since both ends 
%        of testing - from simulation to evaluation - are now covered by MARS. 
%        Currently, this feature has alpha status which means that our users
%        are highly encouraged to provide us with their feedback and ideas.
% 
%   - New Representation of the Test Project Protocol
%        The representation of the Test Project Protocol - MTest's feature 
%        for checking the integrity of your test projects - has been 
%        completely restructured so that test object specific issues can 
%        be identified faster. For this purpose, the failed checks 
%        for correctness, completeness, consistency, as well as the 
%        suggestions for any follow-ups are listed for each test object
%        individually. This aids navigating, checking, and counteracting 
%        issues you might encounter within your test projects.
% 
%    - Improved User Guide 
%        MTest's user guide is now available in HTML format allowing 
%        convenient use of document navigation and search (including 
%        search term highlighting), as well as bookmarking. A PDF print 
%        version of the user guide is still available as well, see
%        '<MTESTROOT>\doc\userguide\MTestUserGuide.pdf'   
%  
%    - (Beta) Test Case Generation by Variation in MTCD
%        The demo project - that can be set up automatically - now 
%        contains a sample test group (Autopilot_Mode_Logic\TestGroup003) 
%        that showcases the use of variation for deriving test sequences.
% 
%   - Test Object Selection
%        When adding a test object to the test project, the user is now able 
%        to select the current system (as retrieved with GCS) as a new test 
%        object. This is a fast and convenient way to include a test 
%        object without potentially navigating extensive subsystem structures.
% 
%   - Evaluation Configuration
%        The user can now specify whether manually 
%        created assessments and/or assessments generated with MARS should
%        be considered for automatic test evaluation. This decouples 
%        both assessment types and eliminates the need to specify
%        attributes for manual assessments, in case only MARS assessments 
%        were used.
%  
%   - Useful Links in Main Menu
%        Quick access to useful websites is provided from the help section
%        of the main GUI menu. Now, the user can directly open the following
%        webpages: MES homepage, MES Webinar Series, and MTest Support.
% 
%   - Bug Fixes
%        #7022: Fixed issues during testbed creation for test object 
%               utilizing bus objects and custom data types. This fixes 
%               a bug that occurred in MTest v6.2.1.
%        #7108: Fixed issues with logged signals holding signal names that 
%               contain blanks, e.g. problems with *.io files and 
%               problems with tolerance configuration.
%        #7147: Fixed issues with MTest batch project in the context of 
%               CI usage, where errors regarding the selection of 
%               TargetLink code coverage selection occured.
%               This fixes a bug that occurred in MTest v6.2.1 and v6.3.
%               NOTE: If you encountered this issue, updating your existing 
%               batch selection mat files is required. To do so, open the 
%               batch test GUI, select your desired batch actions, and simply 
%               save your selection.
%        #7155: Fixed an issue with a confusing command window output when
%               an entire test group was selected in the batch GUI, in
%               conjunction with an active re-import option. In the past, a 
%               single sequence re-import was displayed even though it 
%               was skipped after successful re-import of the test group. 
%               This fixes a bug that occurred in MTest v5.0.
%        #7168: Fixed an issue when analyzing the data type for a bus signal.
%               In some instances, the data type was resolved to inherit 
%               instead of using the assigned bus object. This might lead to
%               issues for data type conversions, when a specific data type is
%               required. This fixes a bug that occurred in MTest v6.2.1.
%
%
%%  MTest v 6.3 (July 2019)
%
%   - (Beta) Test case generation by variation in MTCD
%       Test sequences can be generated using logical test cases 
%       in MTCD in the MTest specification editor.
%       The logical test cases can contain any number of variation 
%       points. Each variation point is defined by a variation list.
%       During test sequence import concrete test sequences using the 
%       defined variations are derived from the logical test cases.
%       The number of generated test sequences depends on the defined 
%       variation points and the number of elements in each variation 
%       list used. Currently a full variation algorithm is used to 
%       generate test sequences.
%
%   - (Beta) Logged signals utilization in signal comparisons
%       Signal comparisons were extended to logged/local signals (in 
%       addition to output signals). Logged signals can be used in 
%       regression, back-to-back and expected output comparisons.
%       To activate logged signal comparisons for respective evaluations,
%       please enable this feature in MTest_UserPrefGUI by the options:
%          PropGUIDefault.evaluation.comparelocalsignals.Regression = 1;
%          (respective  BackToBack = 1;  and  ExpectedOutput = 1;)
% 
%       Definition of tolerances is supported for logged signals as well.
%       You find the logged signal names in the tolerance option file. 
%       These logged signal can be recognized by the extension "(logged)".
%       The results of the comparisons are reported in the evaluation 
%       section of the test sequence report, in test sequence catalog,
%       and in signal comparison catalog.
%
%   - Ignore specific signals in signal comparisons by INF tolerance
%       To exclude/ignore some signals from signal comparisons, just
%       define a tolerance of Inf for these signals. If any of the value 
%       tolerances or the time tolerance is Inf, this signal is evaluated 
%       to NOT ACTIVE. This result is reported in the respective reports
%       and catalogs. It is visible by design, but will vanish during result
%       aggregation.
%       This excluding configuration applies to all test sequences of
%       a test object for the respective signals.
% 
%   - Improvements in Interface Analysis
%       When a BusCreator is found the Interface Analysis takes all the 
%       information from the BusCreator-Struct on output and input side.
%       On input side there was an additional effective interface analysis, 
%       which could produce incorrect interface structures. (#6888)
%
%   - Support for configuration references in SLDD
%       Configuration references in SLDD are handled by MTest now.
%       It is ensured, that SLDD of testbed and model are not open at the 
%       same time, when a model update/compile is performed by MTest. (#6906)
%   
%   - MARS: 'inbetween' with open and half-open intervals (include, exclude)
%       For the inbetween definition it is now possible to define the 
%       exclusion of the boundaries by using the keyword exclude.
%       The keyword include was also added but it defines the default 
%       behavior. (#6857)
%
%   - Measurement data initialization in MTCD in expected order
%       For the import of measurement data using MTCD, the order of 
%       initialization of signals was improved. Definitions in the 
%       test sequence have precedence compared to definitions in the test 
%       group. 
%       It is still possible to "overwrite" signals of the measurement data
%       (or add missing ones) by defining them in the initialization or
%       action field of the respective test sequence.
%
%   - Master-slave support for MTest step in MES Jenkins PlugIn
%       The MTest step of the MES Jenkins PlugIn supports Master-slave now.
%       An MTest-CI-License is necessary to use this feature.
%   
%
%%  MTest v 6.21 (May 2019)
%
%   - Inclusion of referenced models in SLDD scenarios
%       In EC (and SL) models using SL Data Dictionary there exists now
%       an option to include the contents of referenced models into the
%       test object in test bed. (The same mechanism already existed for
%       TL models.)
%       In this way the test of models with referenced models using each
%       an own SLDD is possible (without effecting the original models
%       or SLDDs). (#6741)
%       To enable this inclusion, please activate in MTest_UserPrefGUI
%       the following option to 1 (default is 0):
%          PropGUIDefault.execution.ecdisablerefmodels4testbed = 1
%
%   - Enhanced interface analysis
%       The handling of bus objects was extended to handle vector signals
%       (Nx1 and 1xN arrays).
%       This extended handling prevents the sometimes erroneous handling
%       of bus objects and busses introduced in 6.2. (#6782)
%
%   - Read baseline of requirements from requirements document
%       The import of requirements now supports the reading of the baseline
%       of the requirements from (Excel) file. Just put the text of the
%       baseline in the description column in a row of type 'Baseline'.
%       In this way the import of requirements can be done in a complete
%       batch manner. (#6786)
%
%   - Workflow enhancements
%       - In 6.2 it was possible, that the TL code coverage was not
%       correctly aggregated (when running MiL and SiL in batch mode
%       together in the same run, thus interchanging MiL and SiL sims
%       of the test sequences of one test object). There was no problem,
%       when MiL or SiL were run in separate batch runs. Now the 
%       internal setting of the TL sim mode is correct again. (#6833)
%       - The numbering of the test sequences and assessments in the
%       Assessment Matrix Catalog matrices reflects now the test
%       seq number and not the index of the test sequence (was only
%       visible when deleting some of the first test sequences). (#6751)
%
%
%%  MTest v 6.2 (March 2019)
%
%   - Speed-up of batch MiL simulation by making use of Simulink Fast Restart
%       The batch test now allows the use of Simulink's Fast Restart feature
%       for executing of MiL simulations of Simulink and Embedded Coder
%       models. The user can activate this option via a dedicated check
%       box in the Batch Test GUI.
%       The Fast Restart is only available in the following versions:
%       - MATLAB R2015b and newer (#6871)
%       - TargetLink 4.4
%       Furthermore, the Fast Restart only allows to simulate test sequences
%       sharing the same step size. In case of varying step sizes the test
%       sequences selected for batch execution will be simulated using the
%       step size of the first test sequence.
%
%  - Speed-up of batch SiL simulations by using tunable parameters
%       User of Embedded Coder models can now significantly reduce the SiL
%       simulation run time during batch test by omitting code generation
%       prior to each SiL simulation. This feature is also applicable to test
%       sequences containing parameter variations.
%       If MTest detects that the configuration setting 'DefaultParameterBehavior'
%       of the test bed is set to 'Tunable parameters', the batch test
%       will generate the code only once for each test bed.
%       Hint: You can check this setting via:
%         get_param(gcs, 'DefaultParameterBehavior')
%       Please note:
%       The feature is only available in MATLAB R2015b and newer and Embedded Coder.
%
%  - Exclusion of subsystem(s) from structural coverage computation
%       For a selected test object the user can now define an ignore-list
%       of subsystems. Those subsystems will then be excluded from the
%       computation of the structural coverage. The ignore-list will affect
%       both model coverage and code coverage.
%       Regarding code coverage the feature is available for
%       the TargetLink Code Coverage tool (TL only), as well as for
%       Testwell CTC++ (TargetLink and Embedded Coder).
%       In particular, this feature is beneficial in terms of testing
%       activities on integration level or subsystems utilizing library
%       instances.
%
%  - Enhanced interface analysis
%       The interface analysis now supports two-dimensional array signals.
%       With this version Nx1 and 1xN arrays are supported.
%       In addition, MTest is now able to analyze array signals whose data
%       types are defined via custom data types defined in the Simulink Data
%       Dictionary.
%       Furthermore, the interface analysis is now also capable of handling
%       signals that are defined as bus elements within a Simulink bus object
%       that in turn is defined in a Simulink Data Dictionary as well.
%
%  - Support of parameters defined in the Simulink Data Dictionary
%       Parameters defined in a Simulink Data Dictionary are now available for
%       use with MARS and MTCD. The parameters are read from the Simulink Data
%       Dictionary and their actual values are used for the general test group
%       initialization. Of course, they can be varied like any other parameter
%       from workspace.
%
%  - New MTCD signal function 'gradientsteps'
%       With the help of the signal function 'gradientsteps' the user can
%       now gradually increase/decrease the signal's value similar to
%       the existing function 'gradient'. Now it is possible to define
%       for how long the intermediate signal values shall be held constant,
%       resulting in a step-like signal shape.
%
%  - General update of MTest Specification Editor
%       When the MTest Specification Editor is opened the entire Eclipse project
%       will be refreshed, resulting in an update of the project structure and
%       the automatic detection of newly created files.
%
%  - MTCD supports import of measurement data from ASCII and Excel files
%       In reference to the import of *.mat files, MTCD can now handle the
%       import of test data from ASCII files, as well as Microsoft Excel files.
%
%  - New check for Test Project Protocol available
%       The introduced check compiles a list of test sequences that have been
%       evaluated manually. This helps to detect any differences between
%       automatic and manual evaluation and thus helps tracking manual results
%       (e.g. to avoid unintentionally overwriting test results).
%
%  - The MTest Demo Project received an update
%       The major change is constituted by the addition of MARS and MTCD examples
%       in text format. That way, the user is now enabled to get a first
%       impression of the text-based MTCD editor and to get familiar with MARS
%       already at an early stage.
%
%  - Acceptance of MES End-User License Agreement
%       Upon first start of the current MTest release, the user is asked to
%       accept the MES End-User License Agreement (EULA). At this, the user
%       has the option to view the EULA in English or Chinese language. MTest
%       will not start unless the EULA is accepted.
%
%  - Enhanced data logging workflow
%       While working with logged signals defined in the testbed, the data logging
%       of Simulink and TargetLink signals can now be enabled/disabled separately.
%       For this purpose, two entries in the MTest main menu are available.
%       Here, available options do reflect the current state of the configuration.
%       Most important to note is that the Simulink data logging must be enabled
%       specifically by the user if a TargetLink user wants to log Simulink signals
%       (e.g. elements of Stateflow charts).
%       In the past, Simulink data logging was always enabled which could have
%       lead to problems in the case of signals being logged by both mechanisms.
%
%  - Display of aggregated results in Manual Evaluation dialog
%       The aggregation of automatic evaluation results now includes the
%       results of the comparison to expected outputs defined in the MTCD test
%       description.
%
%  - Selection of reference data
%       If the user selects any data for use as reference from sources for
%       which no data is available, the user receives more helpful feedback.
%
%  - Handling of models with no subsystems
%       When selecting a model that does not contain any subsystem the user receives
%       feedback via a descriptive dialog box.
%       In addition the handling of the Data Logging Configuration for testbeds
%       that refer to models that do not contain any subsystems will now be handled
%       correctly.
%
%
%%  MTest v 6.1 (December 2018)
%
%  - Enhanced logging of internal signals (local signals)
%       Multiple enhancements for local/logged signals have been added
%       to improve the workflow, especially for test models where not
%       all necessary local signals are already switched on for logging.
%       The current configuration of signals to be logged can be saved
%       by choosing "Save from Test Bed" in the
%       "Execution > Data Logging Configuration" menu.
%       Using "Apply to Test Bed", the saved configuration can be
%       re-applied to the current test bed.
%       When a new test bed is created, the current configuration
%       is automatically applied to the new test bed. This allows the
%       test bed's logged signal configuration to be different
%       from the test model (and full batch mode application for the
%       configuration).
%       Logging of internal signals can be switched off by using
%       "Disable Data Logging". This switched off/on logging state is also
%       applied when creating a new test bed.
%
%  - Calculating and reporting consumed tolerances in report and catalog
%       MTest now reports information about the consumed tolerances
%       for each signal comparison, in addition to defined tolerances in
%       the respective test sequence reports, as well as the signal
%       comparison catalog.
%       Now, you can see if tolerances were used for a Passed result and
%       what the maximal value deviation was during signal comparison.
%       Therefore, for a Failed result, the "necessary" value tolerance
%       for tolerated deviation can be seen directly.
%       This allows for a much quicker evaluation and review of signals with
%       used tolerances.
%
%  - Defining equivalence classes for signals in MTCD
%       MTCD supports the definition of equivalence classes of signals
%       to enable convenient documentation of this information.
%       The parser and the validator support the new syntax. Templates
%       are available in the content assist. See the MTest User Guide for
%       examples.
%       (In later versions, the documented equivalence classes will be
%       used for extended features.)
%
%  - Enhanced export of xml and new junit (xml) format
%       The xml export is now available. The xml file contains
%       test sequence information and test results.
%       The junit xml (separate format) contains information on test
%       sequences. It is used in the MTest step of the MES Jenkins
%       Plugin and can be used (only) with the MTest CI license.
%
%  - Deleting project elements
%       Via a menu option, single or multiple test sequences, test groups,
%       test objects, or test models can be selectively deleted from an
%       MTest test project.
%
%  - Enhancements of MTest Specification Editor
%       The work status of test cases and groups in MTCD is now supported
%       by an enumeration of valid entries. By entering the appropriate work
%       status you are able to trace your test case definition progress.
%       Previous work status entries in existing test specifications
%       - defined as strings - can simply be transformed by using the quick fix
%       in the error message.
%       The workspace folder was renamed from "marsWorkspace" to
%       "editorWorkspace". Existing test projects are adapted automatically.
%       Signatures for MTCD functions are now provided in content assist.
%       Negative exponents are supported.
%
%  - Added new checks for Test Project Protocol (TPP)
%       Test sequences with evaluated assessments: Finds assessments
%       that are active but have no evaluation data.
%       Requirements are imported to test object: Finds test objects
%       with no requirement document imported.
%
%  - Setting testability review status during requirements import
%       When the testability property can be automatically calculated during
%       the requirements import (by setting the right options and availability
%       of data), the testability review status is set to 'reviewed
%       (derived)'. This 'reviewed (derived)' value is interpreted as reviewed
%       in the requirements metrics (in requirements catalog and data export).
%       In this way, the manual review of an automatically calculated
%       testability status is no longer necessary.
%
%  - Simulation execution in base workspace supported
%       MTest normally performs simulation in a secure function workspace,
%       preventing interference with values existing in the base workspace by
%       chance.
%       Now, you can select the option simworkspace = 0 in MTest_UserPrefGUI
%       to perform test sequence simulation in the base workspace.
%
%  - Test objects with function call outputs directly supported
%       Subsystems with function call outputs can now be used directly
%       as test objects. During test bed creation, additional blocks are
%       included around the test object to convert the function calls to
%       scalar signals.
%
%  - (Alpha) MTCD  test data viewer with quick refresh of inputs and expected outputs
%       When defining signals in MTCD, you can view your input and expected
%       output signals quickly by Sequences/Test Data Viewer. After changes
%       have been made in MTCD (and saved), the signal figure can be quickly
%       refreshed by figure menu MTest/Re-Import Test Data and Refresh Plots.
%       The same signals are shown in the figure (using the newly imported
%       data from MTCD). The list of signals to view will be remembered for
%       the test object and can be re-used for viewing signals of other
%       sequences (of the same test object).
%
%  - MARS value tolerance for comparisons
%       Value tolerances can be applied for comparisons in formal requirements
%       written in MARS. The generated assessment then tolerates
%       the desired deviation for this comparison. Value tolerances can be
%       defined as absolute values using "[+- <value>]" or relative values in
%       in percent using "[+- <value>%]" after the right-hand side expression
%       in a comparison and for the expected system response. For <value>, all
%       arithmetic expressions known to MARS are allowed, including signals
%       changing over time.
%
%  - MARS vector parameter access
%       For parameters that are vectors, it is now possible to access the
%       indices using parentheses. E.g.: "parameter PARAM(1)" to access the
%       value at the first index of the parameter PARAM
%
%  - MARS enhancement for combined state and event Trigger
%       In some cases where "or" was used in the state trigger, the combined
%       trigger was incorrectly calculated, which led to an unexpected
%       behavior.
%
%  - Parser enhancements for broader use of expressions
%       In earlier versions, it was, at multiple locations in MARS, only
%       possible to define single values and not to use signals or parameters
%       or arithmetic operations. With multiple parser enhancements, it is now
%       possible to use all arithmetic MARS expressions in most contexts,
%       such as timing definitions.
%       (E.g.: "... for 3 + parameter delay seconds" or
%       "...SHALL be true within 1 / parameter controlFreqInHertz seconds")
%
%  - Workflow enhancements
%       - Better recognition of local Excel versions for used separator
%       and language, preventing some "unusable" cell selection in Excel
%       files (especially the work status column in MTCD).
%       - In MATLAB R2015B, there is a bug preventing the full use of the model
%       coverage functionality. MTest applies the necessary work-around
%       (thanks to TMW) for the appropriate MATLAB versions, enabling model
%       coverage and repeated access to the model coverage options dialog.
%       - When adding a new test evaluation configuration, the example
%       configuration in MTest_SystemOption in the demo directory is used
%       again (and not an empty configuration). In this way, the default test
%       evaluation configuration can be pre-configured by adapting
%       MTest_SystemOptions in the demo directory of your MTest installation.
%       - The documentation of varied parameters per test sequence in the
%       test report now works again (it was "refactored" in 5.2/6.0).
%       -Analysis of logged/local signals in 6.0 could lead to a loop
%       when multiple referenced models were used in the test object and
%       one of the referenced models was referenced more than once.
%       - In Batch mode deleted test sequences no longer stop the execution
%       of batch actions of subsequent test sequences.
%
%
%%  MTest v 6.0 (September 2018)
%
%  - MTCD text editor as part of MTest Specification Editor (Eclipse)
%       MTCD can be written and edited in a dedicated Eclipse/text
%       editor - the MTest Specification Editor (also used for MARS).
%       This MTCD editor has no limits for the length/size of a test
%       sequence or parameter definitions (as Excel has).
%       The editor provides templates for test group, test sequence,
%       signal names, parameter names, MTCD functions, and more.
%       The written MTCD is validated online and helpful hints are shown.
%       An outline view and navigation and the many other usual editor
%       features are also available.
%       The Excel MTCD can be converted to a text MTCD (menu).
%       The MTCD specification by Excel is still available.
%
%  - Automatic adaptation to changes to the test object interface
%       When changes are made to the test object interface, MTest reports
%       these changes (diff analysis: new/renamed/deleted signal).
%       These changes can be checked, mapped (i.e. from new to renamed),
%       and confirmed. Using this mapping function, the interface changes can
%       then be disseminated to MTCD, MARS, reference data, test setup,
%       tolerance definitions, and further definitions in MTest.
%       In addition to storing the current interface definition, MTest also
%       stores the history of the interface (different baselines). This way,
%       interface changes can be mapped on the basis of one of the
%       previous interface baselines.
%       A mapping GUI provides an intuitive way of mapping and selecting
%       dissemination actions.
%
%  - Batch functions return extended status information
%       The MTest batch functions (MTest_BatchProject and MTest_Batch on
%       a lower level) return extended status information. This
%       aggregated value for all performed batch actions provides one
%       result regarding everything OK (1), something not OK (-1), or
%       nothing done (0).
%       For CI (Continuous Integration), a success criteria can be used
%       to provide a success value even when the results of a test
%       evaluation were 'failed' (but nothing aborted or errored). This is
%       useful to get a stable result in Jenkins, even when not all
%       evaluations have the result 'passed'.
%       A CI license for MTest is necessary to use this feature.
%
%  - Batch configurations/selections in MTest_BatchProject
%       Batch selections saved in Batch GUI (in a mat file in test project)
%       can be used to configure a batch run in MTest_BatchProject (and in
%       the MES Jenkins Plugin).
%       These batch selections must be created/saved in MTest 6 or newer.
%       Batch selections should only be used for specific use cases.
%       The direct definition of test models/objects and batch actions for
%       MTest_BatchProject is much more visible.
%
%  - MTest step in MES Jenkins Plugin
%       The MES Jenkins Plugin contains an MTest step. Please see the
%       documentation of the MES Jenkins Plugin.
%       A CI license for MTest is necessary to use this feature.
%
%  - MARS enhancements
%       Defines representing a scalar value not dependent on simulation
%       data are now properly set as parameters and are used as such in
%       the generated assessments.
%       The number of supported arithmetic functions has greatly improved.
%       Additionally, it is now possible to use arbitrary function names for
%       user-defined functions.
%       The "^" operator is now available to potentiate in arithmetic
%       expressions.
%
%  - Inclusion of test sequence report graphics directly in HTML report
%       The graphics of the HTML test sequence report can be included inside
%       the HTML report (as base64 data).
%       In this way, the number of files in the test project is now much lower.
%       This graphic inclusion can be switched off in MTest_UserPrefGUI by
%       PropGUIDefault.report.embedimagesbase64.
%
%  - Option to skip extra interface analysis if model did not change
%       Before an interface analysis is performed, MTest can checks
%       if the model to test really changed since the last interface
%       analysis. If no change was detected, the still current interface
%       information is used.
%       Multiple conditions are checked (if any changed, interface
%       analysis is performed): modification of model, modification of
%       referenced models, modification of Testsetup files.
%       This option must currently be enabled in MTest_UserPrefGUI by
%       execution.forceinterfaceanalysis = 0 (disable force interface analysis)
%
%  - User Guide v 6.0
%       The MTest User Guide contains descriptions of the interface changes
%       workflow.
%       The MTCD text editor in Eclipse is explained as part of the MTCD
%       Chapter.
%       Details about the extended batch features are described in the Batch
%       Chapter.
%
%  - Workflow enhancements
%       A few of the settings in MTest_UserPrefGUI were changed to reflect
%       the settings most customers of MTest use (this is a major release).
%       Please check your previous usage of these settings and adapt if
%       necessary.
%       A paused batch run can be resumed again (introduced in MTest 5.2).
%       The signal catalog shows all test groups (and not just the last one).
%       The baseline (version info) of the requirements document (RSD) is
%       shown in the start of the requirements catalog (it was already
%       visible in each requirement).
%       During test bed generation and the TL module enhancement, further
%       output parameters are transferred to the test bed: InitialOutput
%       and OutputWhenDisabled (reset method).
%       The MQC XML export was extended to support different naming of
%       model coverage methods in different MATLAB releases and really
%       exports the structural coverage values of multiple test objects.
%
%
%%  MTest v 5.2 (June 2018)
%
%  - Extended tolerance definition for all signal comparisons
%       It is now possible to define signal comparison tolerances
%       separately for each signal and each evaluation method
%       (for regression, back-2-back, expected output).
%       At the same time, the default tolerance value for each signal,
%       which is used for all signal comparisons, is still available.
%       Additionally, it is possible to define a global
%       (non-signal specific) default tolerance for all the available
%       signals.
%       The evaluation-method-specific tolerance has the highest
%       priority. The signal-specific default tolerances have a
%       lower priority. The global default tolerance for all
%       signals has the lowest priority.
%
%  - Relative tolerances for all signal comparisons
%       When configuring the tolerances, you can now also define
%       relative tolerances. If both absolute and relative
%       tolerances are defined, MTest will use the larger tolerance
%       for each time step of the sequence.
%
%  - Batch mode with Pause/Proceed and Stop
%       The Batch GUI displays a Pause and a Stop button after starting
%       the batch run. This makes it possible to pause or stop the batch
%       run.
%       If Pause is pressed, the batch run pauses after the current
%       batch action has been completed.
%       If Stop is pressed, all further batch actions are skipped after
%       the current action. This is also shown in the MATLAB
%       command window and the Batch report.
%
%  - Batch mode is now silent
%       In batch mode, the model coverage report no longer pops up.
%       A newly generated test bed is generated in the background
%       during batch test. The catalog generation in batch mode does not
%       open any wait bars.
%       In this way, the batch mode can now run in the background as
%       most actions will no longer open a pop-up window that changes window
%       focus.
%
%  - Batch GUI remembers settings after closing
%       The Batch GUI saves the current settings (selected sequences
%       and actions) when closed. Upon reopening, these settings are reloaded.
%       This allows you to pick up where you left off last time.
%       If you want to reset all the settings (selected actions and test
%       sequences), there is a button in the Batch GUI that allows you to do
%       this.
%
%  - Batch GUI refresh
%       If the project structure is changed, the batch window will
%       automatically update as soon as you click on the window. This
%       also works if you change the test project outside the batch window.
%
%  - New MTCD function sinesweep
%       The sinesweep function implements a sine with variable period
%       and variable amplitude.
%
%  - Result distribution in requirements catalog
%       We added the result distribution inside the requirement catalog
%       showing the status of the requirements in more detail. It behaves
%       in the same fashion as in test sequences and assessment catalogs.
%
%  - Workflow enhancements
%       We improved documentation of errors in the test setup file so that
%       a resulting incorrect test execution can be readily seen. This
%       helps with error traceability.
%       We also made sure that the MiL simulation of a TargetLink model is
%       possible without having to have a TargetLink license.
%
%
%%  MTest v 5.1 (March 2018)
%
%  - MARS: MTest Assessable Requirements Syntax v 1.5
%       The MARS language has been slightly refined, to better reflect
%       natural language. A few syntax elements were marked as deprecated.
%       Please open your MARS file in the MARS editor and check for
%       deprecated elements (look out for yellow warning markers). These
%       deprecated  elements are still supported, but will be removed
%       in the future.
%       Assessment generation has been improved with respect to multiple
%       adjacent trigger events. We increased robustness of assessment
%       generation (e.g. more secure handling of various test data dimensions,
%       representation of comments). Also, the generated assessments adhere to
%       the standard assessment template.
%       The MARS Quick Reference Guide (formerly known as cheat sheet)
%       has been improved for better readability and comprehensibility.
%       The MARS editor now starts more quickly and is more streamlined to the
%       MARS workflow.
%       The content assist/templates of the MARS editor have been extended and
%       improved.
%
%  - Introduced new MTCD Parser, based on Xtext technology
%       During the MTCD import, you get much better feedback on incorrect
%       commands and specification (exact line and cause of  incorrectness).
%       The new parser is stricter by design. If you are using "custom" things
%       in MTCD (which produce messages in the new parser), please tell us.
%       We will extend the syntax, if useful.
%
%  - Test Project Protocol extended with new checks
%       The Test Project Protocol has been extended by a large number of new
%       checks.
%       Give it a try when you think your test project is done. It might
%       point to some things that are not really finished yet.
%
%  - Enabled evaluation of multiple regression tests
%       A recent bug prevented the execution of multiple regression test
%       evaluations in the same configuration. Now, the simultaneous comparison
%       of MiL outputs and SiL outputs to reference data can be performed.
%
%  - TL code coverage aggregation also for separate TL Function subsystems
%       The TL code coverage aggregation was extended to handle  TL Function
%       subsystems appropriately.
%
%  - Custom storage location of test models
%       The location of your tested models is no longer limited to one
%       specific directory. You can select models to test from any directory
%       when adding a new test object.
%       Additionally, the location of the model to test can be reassigned when
%       moved to another directory.
%       Models must still have a unique name within an MTest project.
%
%  - Extended import of MTCD/Testona in Batch Mode
%       The MTest Batch import can now perform the initial import of
%       test sequences. When selecting at least the complete test
%       group (or test object/model) in the Batch GUI, all test sequences
%       in this MTCD (or Testona/CTE) file are imported (even when new).
%       Afterwards all further batch actions (sim, eval, ...) are performed on
%       all these test sequences.
%       This initial import works with MTest_BatchProject too.
%       For these imports please define the default simulation step size
%       (used for discretization of imported signals too) in the global
%       parameters setting in the project directory (see file
%       mtc_DefineMTcOptions_SimParaGlobal in MTest/demo directory).
%
%  - Workflow enhancements
%       When a model is already open before MTest is launched, this model
%       stays open after changing models in MTest or closing MTest.
%       Opening of TL models with DDs that include other DDs by relative
%       path is now handled more robustly (MTest really opens these models
%       from the model directory). Additionally, the DD is opened afterwards
%       explicitly.
%       In the generated test bed, a vector of function call signals does
%       not get a Data Type Conversion block afterwards (which all the other
%       vectors on the input side get and need).
%       During simulation and during TL code generation the test bed is
%       just loaded (i.e will not be opened). Thus, no test bed will pop up.
%       This enables batch testing with the focus being kept. However, if
%       you regenerate the test bed, and/or you perform model coverage
%       the test bed, and/or the coverage report popup, respectively.
%
%  - User Guide v 5.1
%       The user guide now also includes the extended import of sequences in
%       Batch and some information regarding the new MTCD parser.
%       The MARS Chapter contains the new Quick Reference Guide and
%       extended description of multiple trigger behavior.
%
%
%%  MTest v 5.0 (December 2017)
%
%  - Expected outputs as additional evaluation method
%       You can now use the MTCD test description file to define
%       expected output values. Once the method is activated in
%       Configure Evaluation, MTest automatically compares the
%       output data to the values of the defined expected output data.
%       The method allows the specification of expected values
%       for either the entire test sequence or particular intervals
%       only.
%
%  - Extended model coverage support for referenced models
%       Model coverage for models with one or multiple referenced
%       models is now supported. The user can now specify which
%       referenced model(s) shall be considered for obtaining the model
%       coverage. The reports and catalogs detail the summed up coverage
%       for all referenced models or for the selected models
%       (see model coverage settings).
%
%  - Reporting of applied tolerances
%       In case of test evaluation by signal comparison (regression,
%       back-to-back, expected outputs), the applied tolerances are
%       presented in test sequence reports and signal comparison catalog.
%
%  - Full vector/matrix signal support in interface analysis for TargetLink buses
%       The interface analysis of TargetLink busses has been expanded to
%       handle used vector and matrix signals inside the TargetLink bus.
%       Now, the signal hierarchy and the compiled data types are combined
%       for a full TargetLink bus interface (and not as effective interface
%       as other inputs).
%
%  - Improved TL Module enhancement
%       The automatic generation of a TL subsystem from a subsystem was
%       improved. The analysis of the source of a signal handles more
%       cases in a more robust way (for instance Mux blocks and their
%       respective source).
%       If you had test objects where the automatic enhancement did not
%       succeed please rebuild the test bed and check again. Now the
%       automatic TL module enhancement handles more cases than before.
%
%  - No need to restart MATLAB if license fails once
%       If the checkout of a license fails once, a restart of
%       MATLAB is no longer necessary. Simply configure the license
%       correctly and restart MTest.
%
%  - Enabled model coverage support for R2017B
%       MTest now supports the toolbox Simulink Coverage(TM) (as introduced
%       with R2017B) for obtaining model coverage.
%       MTest removed new compatibility warnings regarding R2017B too.
%
%  - Enhanced conversion from Signal Builder to MTCD
%       When converting from signal builder blocks to MTCD, some rare
%       cases are handled more robustly. This includes the start of ramps, the
%       end of a ramp starting at t=0, the handling of very short
%       time steps, and the assignment between changes in the signal builder
%       and the corresponding test steps in MTCD.
%
%  - MTCD test sequence import ordered by ID
%       The import order of MTCD can be switched from the default order of
%       the MTCD file to using the IDs of the test sequences in the MTCD file.
%       In this way, the test sequence data is reimported into the same
%       sequences, even if sequences were added/removed in the MTCD file
%       (especially important when using reference data for regression test).
%       See the User Guide for a description of the ordering logic.
%       This feature can be switched on in MTest_UserPrefGUI by
%       PropGUIDefault.import.sortsequences = 1.
%
%  - View local data in View Test Data and Outputs
%       Beside input/test and output signals now local signals are available
%       in Documentation/View Test Data and Outputs too.
%       The signals are grouped by type (first input, then output, then local
%       signals). Each group is sorted alphabetically. In this way signals can
%       be found quicker.
%
% - (Beta) MARS MTest Assessable Requirements Syntax v. 0.5
%       Support for Lookup Tables
%       The MARS syntax now allows expressions referencing a lookup
%       table (1D and 2D). The generated assessment uses the assessment
%       functions MTa_mapLine and MTa_mapField.
%
%       Assessment Generator Robustified
%       State driven requirements with state triggers that are not
%       dependent on a signal of the test object are now either triggered
%       or not triggered for the complete test sequence, depending on the
%       specified trigger condition.
%
%  - Workflow enhancements
%       The associated requirements document (RSD) can now be called from a
%       drive other than the test project's drive. MTest then use an absolute
%       path.
%       Higher robustness for Simulink objects in parameter
%       definition (value vs. initvalue).
%       When analyzing parameters for a test object, the value
%       of the parameter is no longer overwritten by an empty value
%       in the TargetLink DD (or DFF), if found in both places.
%       Logging internal TargetLink signals in R2015B and newer in MiL
%       now works using the TargetLink logging mechanism. For these releases,
%       the simulation of test sequences in MiL is performed in base
%       workspace. Only in this case does the TargetLink MiL logging work
%       (known feature).
%       Assessment framework utility functions can now handle non-double
%       signals and parameters.
%       Signal history plots in test sequence reports are placed in horizontal
%       alignment.
%       When a test object has no inputs (just parameters) the generation of
%       a new MTCD file works now.
%       During test bed cration for TL test objects relative search paths for
%       'IncludeFileSearchPath' and 'SourceFileSearchPath' in TL DD are
%       adapted, if an relative path is used (since MTest 3.0). Because of
%       problems in TL 4.2 the trailing ; was removed. BTW, the relative path
%       must start with .. to be recognized as relative path.
%
%   - Update of user guide
%       The user guide was extended with a chapter on MARS including
%       introductory examples and with a chapter on expected outputs. The
%       reporting of applied tolerances is included in the respective sections.
%       Our assessment driven test design is documented in a section as well.
%
%
%%  MTest v 4.4 (September 2017)
%
%  - Overview of model and code coverage metrics for complete project
%       At the beginning of the test sequence catalog, MTest displays
%       all model and code coverage metrics of all test objects in
%       one table. This provides you with a comprehensive overview
%       of all structural coverage values for each test object. You
%       can even see which test objects were not simulated using
%       model or code coverage.
%       The heat map coloring provides additional feedback on the
%       state of the structural coverage.
%       See the User Guide for a quick introduction to all the
%       information displayed (if necessary).
%
%  - New Test Project Protocol
%       Large test project, long catalogs, many passed, some failed.
%       What is missing in my test project, what still needs to be
%       done, what should be reviewed?
%       The new Test Project Protocol provides answers to these and
%       more questions. Think of it as a "to do and open points" list
%       (at the moment).
%       We are interested in your feedback (and we have a lot more
%       ideas for the Test Project Protocol).
%
%  - Function caller block handling in interface and test bed
%       The function caller block and the associated functionality
%       is included in the test bed, even when parts of it are
%       defined outside of the test object.
%       The function caller definition inputs are included
%       in the test object interface as additional inputs.
%       Remark:
%       The function caller block is different from a function call.
%
%  - More robust support of vector inputs in test bed
%       In the test bed vector input, signals receive an additional
%       signal conversion block after the MUX block. Otherwise,
%       Simulink throws messages before test bed simulation.
%
%  - (Beta) MARS MTest Assessable Requirements Syntax
%       The User Guide contains a first chapter about the use of MARS. It
%       explains the structure of the formal requirements and provides
%       a few examples so you can get started quickly with MARS.
%       The installation instructions describe the MARS system
%       requirements.
%
%  - Extended documentation of MTa_checkReaction in User Guide
%       MTa_checkReaction is the most used assessment function. In
%       the User Guide, the description and the examples have been
%       extended and reworked for even better understandability.
%
%  - More precise output of parameter values
%       The values of parameters are documented more precisely (more
%       significant numbers) in the test sequence report, parameter
%       report, and assessment analyzer.
%       Up to 16 digits are documented (if necessary).
%
%  - Extended Embedded Coder SiL support
%       Problems during EC code generation produce a NOT OK during
%       batch run (silsim with code generation) and during interactive
%       code generation (Execution Options/SiL/Apply&Build).
%
%  - Added MTCD function sawtooth()
%       MTCD now provides an action function for generating:
%       - sawtooth/saw wave signals
%       Use this function for counters, keep alive signals, and similar.
%       See MTest User Guide for further information.
%
%  - More precise setting of ramp end values in MTCD
%       The end value of each ramp or sinramp in MTCD is set exactly
%       to the given value.
%       Previously, due to floating point calculation of the final
%       value, its exact value could be missed by a very small magnitude.
%
%  - (Alpha) MTCD XText Parser for validation
%       If you want to use it, please download the extended release file:
%         http://mtest-classic.de/fmtestrf8relv3xnpw/...
%         MTest_4_4_Release_withMTCP.zip
%
%       The MTCD XText parser is now directly available from the MTest
%       menu bar (Sequences/Validate Test Description) for validating
%       the current MTCD file.
%       This validation is an optional step (in this release). Please
%       use it when the import of MTCD is not successful. The XText
%       parser provides detailed and precise messages in areas where
%       the MTCD syntax in your file is not correct.
%       The new parser is stricter by design. If you are using
%       "special" things in MTCD (which produce messages in the new
%       parser), please tell us. We will extend the syntax, if useful.
%       The MTCD import is still done with the current/previous parser.
%
%  - Workflow enhancements
%       For enabled/triggered test objects with bus inputs, the
%       test bed generation now works. Previously, the connection
%       of the bus creation block and the test object did not work.
%       (Enable/triggered subsystems with scalar vector inputs
%       already work and (nottriggered) test objects with bus
%       inports also worked.)
%       The navigation menu in catalogs now shows all the different
%       catalogs all the time (previously, the current catalog was
%       not shown in menu by design).
%
%
%%  MTest v 4.3 (June 2017)
%
%  - More convenient access to parameters in assessments and MTCD
%       The access to parameter values was generalized in MTest.
%       Now even parameter values of class Simulink.Parameter or
%       other Simulink.Objects are directly accessible via
%       the name of the parameter (or parameter structure).
%       Please check your assessment scripts. If you
%       accessed Simulink.Parameters via PARAMETERNAME.value = 5,
%       then you must adjust these calls to the direct method:
%       PARAMETERNAME = 5.
%       In MTCD the default values are used in template even for
%       structures of parameters and objects in parameters.
%
%  - Parameter diff in sequence report for parameter objects
%       The parameter difference reporting in the sequence report
%       (showing used parameter variation) shows also differences
%       for objects in parameters (especially Simulink objects).
%
%  - Interactive support for parameter setup for new test objects
%       When a new test object is added you are asked if you
%       want to set up parameter loading (TestSetup) for the
%       test model (providing default parameter settings for all
%       test objects selected out of this test model).
%       This prevents repeated definition of the same TestSetup.m
%       for each test object. This tool driven configuration
%       removes one often seen problem in setting up new test
%       models and test objects.
%
%  - Extended generation of Embedded Coder SiL test beds
%       The automatic generation of Embedded Coder SiL test
%       beds was reworked. Besides an S-function the creation
%       of a SiL-block test bed is done for ert-targets.
%       See the User Guide for more information and the different
%       possibilities.
%       CTC++ code coverage for EC test beds is enabled as
%       well and a few interesting effects could be resolved.
%
%  - Identification of out-dated manual evaluation results
%       Manual evaluation results older than an automatic
%       evaluation result (regression, back-to-back, assessment)
%       are marked in the test sequence catalog and the test
%       sequence report by a recognizable background color.
%       This enables a comfortable search for these manual
%       results if necessary.
%
%  - Test sequence report shows name of test group
%       At the top of the test sequence report the test group
%       name is documented as well.
%
%  - Extended interface analysis and test bed creation
%       Triggered, enabled, function-call (trigger with function-call,
%       sample time type could be triggered or periodic) and
%       if-action/case-action subsystems were supported
%       for SL and EC already.
%       The automatic enhancement of a subsystem out of a TL
%       subsystem worked for triggered, enabled, and function-call
%       subsystems already.
%       We now support test bed generation including TL enhancement
%       for subsystems containing If-action subsystems (transfered
%       into enabled subsystem), thus keeping the enable property.
%
%       During TL subsystem enhancement TL functions were only enhanced
%       (MTest assumed, that all in/outports were TL-In/Outports
%       already). Now MTest checks first, if there are none TL ports.
%       Then the module gets a full wrapper with added TL in/outports.
%
%       The interface analysis of nested busses defined by bus objects
%       was enhanced. In sub busses the real bus name is used (previously
%       we used the busdatatype name, which works often, but not always).
%       In these cases the bus name is also used during test bed creation
%       to name the sub bus in the bus building block providing extended
%       bus naming in more cases.
%
%  - (Alpha) MARS MTest Assessable Requirements Syntax
%       A formal implementation method for requirements is available.
%       It is based on a powerful syntax close to natural language.
%       The syntax is based on the EARS pattern and introduces
%       further additions to describe state-based and event-based
%       requirements.
%       The really interesting part is, that MARS automatically
%       generates executable assessments out of the requirements.
%       This first release of MARS is to get a grip on the
%       very interesting possibilities. We use it already to
%       generate nearly all our new assessments.
%       If you want to try it out, please contact MTest support
%       to get an introduction and to show you some examples.
%
%  - Workflow enhancements
%       A possible *.req file besides the test bed is removed
%       before generating SiL EC code preventing an
%       interactive dialog in R2016b and newer.
%       The parameter report (documentation of parameters
%       for test object) is regenerated, when a test
%       sequence report is generated via the menu command or
%       using the main GUI.
%       Test objects without inputs (i.e. loading of parameters)
%       and/or without output signals (calculating internal
%       signals) can now be handled in MTest.
%       Handling of the new model coverage configuration in
%       R2016a and newer included.
%
%
%  - Maintenance release 4.21 (May 2017)
%       Model coverage was sometimes not collected with
%       the recently introduced Coverage Framework.
%       More robust handling of interface analysis and
%       test bed creation for test objects with boolean
%       inputs and for output buses without bus creator
%       in front of output.
%       User Guide update regarding update to MTest 4.0
%       and MTest 4.2 (rerun projects).
%       More robust handling of evaluation configuration
%       in GUI when defining separate settings than for
%       the whole test object.
%       More robust enabling of manual evaluation menu
%       command.
%       Check and handle maximal lines of initialization
%       of MTCD file necessary for test objects with
%       large interfaces (there is a 255 lines per cell
%       limit of Excel).
%       Subsystems in test model with new line in name
%       are handled by Add New TestObject list dialog.
%       Test objects with new line in name are pointed
%       out by a message.
%       Assessment Analyzer handles NaN more robust.
%       Test Catalog creates more robust HTML removing
%       unnecessary white space.
%
%
%%  MTest v 4.2 (March 2017)
%
%  - New structural coverage framework (model/code coverage)
%       The result metrics of structural coverage (model and
%       code coverage) are shown in detail in the respective
%       test sequence report and the test sequence catalog.
%       The used coverage values for the test sequence are
%       shown in test sequence report.
%       Aggregated coverage values for all test sequences of a
%       test object are shown in the test sequence catalog.
%       To use the new structural coverage with MTest, please
%       rerun existing projects anew (simulation including
%       model/code coverage enabled).
%
%  - View Model opens test object in model
%       The View Model menu command and the View button in
%       the Testobject panel each open the model file and
%       change the view to the selected test object.
%       In this way, the selected test object can be quickly
%       located even in large models.
%
%  - Requirements shown in new requirements catalog
%       MTest provides a new requirements catalog
%       (similar in structure to test sequence and
%       assessments catalog).
%       The requirements catalog lists all requirements
%       related information including links to related test
%       sequences and assessments and requirements related
%       metrics.
%       The requirements catalog replaces the requirements
%       parts of the RCT report.
%
%  - Extension of catalogs by requirements information
%       The sequence and assessment catalogs now contain
%       (more) requirement related information, including
%       full linkage to the respective parts of the other
%       catalogs or sequence report.
%       This replaces the test sequence and asessments
%       parts of the RCT report.
%
%  - Extension of catalogs by metric information
%       All catalogs contain the respective metrics
%       information (some of them formerly found in the
%       RCT report).
%       At the beginning of each section the dedicated
%       metrics are shown in tabular format (number of
%       requirements/assessments, covered reqs/assessments,
%       work status and so on).
%
%  - Refactoring of RCT framework
%       All the functionality of the RCT framework was
%       refactored. Data is saved in another way, some
%       extended functions were prepared. The previous
%       functionality is still available. Old data sets
%       are automatically converted to the new format.
%       If you used any of the MTr* functions (especially
%       MTr_RCT) directly, please contact us for adaptation.
%       To sum it up: it is much quicker now, there is
%       no extra RCT report ("just" a new requirements
%       catalog) and metrics are displayed where expected.
%
%  - GUI for Evaluation configuration
%       All the options for evaluation (regression and
%       back-2-back test and assessments) can be configured
%       in a GUI supporting all the different combinations
%       of the options (Configure in Evaluation panel).
%       The GUI uses the same configuration file format and
%       place as before (loading and saving).
%
%  - GUI for manual evaluation
%       In addition to the automatic evaluation methods
%       a manual evaluation of test sequences is possible.
%       The manual evaluation has a higher priority than the
%       automatic evaluation methods (assessments, regression,
%       back-2-back).
%       Manual evaluation can be used as exclusive evaluation
%       method or to override automatic evaluation results.
%       The GUI provides quick review and setting of manual
%       evaluation for all test sequences of the current test
%       object.
%       The main GUI shows an additional aggregated evaluation
%       result, which includes manual evaluation.
%       Reports and catalogs show the manual evaluation too.
%
%  - Requirements compliance metric uses all automatic evaluations
%       The requirements compliance is the aggregation of
%       assessments, back2back and regression using traceability
%       information. (Previously only assessments were used.)
%
%  - Display of Simulink objects in parameter report
%       The model parameters can contain different types of
%       Simulink objects (Parameter, Signal, BusObject,
%       AliasType, CustomStorageClass, Enumeration, ...).
%       These variables are fully documented in the parameter
%       report of the test object and in the changed parameter
%       section of the test sequence report.
%       For enums a compact one line documentation is applied.
%       For the other objects all fields of the object are
%       documented in a structure like way.
%       If you want to use this documentation facility,
%       look at prprintf.
%
%  - Conversion of CTE test specification to MTCD
%       CTE test specification can be converted directly to
%       MTCD test specification. See MTest_cteConvert2mtcd
%       and accompanying files in bin/AddOn/CTE2MTCD.
%       The relevant information in the cte file is transfered
%       to the respective MTCD syntax and placed in an Excel
%       file.
%       Afterwards you may use the MTCD to add further info
%       (ID, covered requirements, work status, ...).
%
%  - Workflow enhancements
%       Message, if no assessments found after pressing
%       Open button in Assessments panel.
%       Additional option in MTest_UserPrefGUI to enable
%       copying of TL AddFile blocks during test bed
%       generation (previously this had to be done in
%       MTest_PortsExtraHandling).
%       The aggregation of CTC++ code coverage data from very
%       large sets of test sequences was changed from command
%       line call to parameter file call. In this way the
%       number of sequences to aggregate CTC++ coverage data
%       for is no longer limited by the length of the internal
%       command line.
%       The robustness of the batch test was enhanced. An
%       error during test bed creation or interface analysis
%       does not stop the execution of following batch
%       actions or test sequences.
%       During test bed creation the name of the output signal
%       of the output data type conversion (DTC) was prefixed
%       with mo to prevent hidden data type conversion messages
%       from a possible matching signal object.
%
%
%%  MTest v 4.1 (December 2016)
%
%  - Inclusion of test sequence status during import from MTCD
%       During import of test sequences from MTCD the test sequence
%       work status is now included. Previously the work status
%       was only available in RCT.
%       The work status is shown in test sequence report (if
%       applicable).
%
%  - Logging of SL internal/local signals
%       (Beta) Logging of local SL signals in MTest (without
%       any extra blocks or configuration). Just enable
%       logging of signals in the signal dialog, everything
%       else is handled by MTest. These local signals are
%       included in the test sequence report and can be used
%       in assessments.
%
%  - Transparent handling of filter for TL DD syncronisation
%       TL requests that parameter values are identical in DD
%       and workspace before code generation and simulation.
%       This synchronization is handled by MTest using TL sync
%       function (see MTest_PortsExtraHandling).
%       Sometimes this syncronization must be bounded to
%       defined parts of the DD tree.
%       If an m-file MTest_synchronization_filter.m is in the
%       MATLAB path, it is used as a filter.
%       If the file can not be found by MATLAB, the standard
%       synchronization will be performed.
%
%   - Close all models opened by MTest after use
%       All models which are opened by MTest (models to test and
%       test beds) are closed during change of selected model
%       and when closing MTest.
%
%   - Enabling of TL module test for modules with TL BusIn/Outports
%       The automatic module test (creation of test bed) works
%       for subsystems with TL In/Outports and SL In/Outports.
%       Now it works for subsystems with TL BusIn/Outports as well.
%       In this case, no effective interface analysis is performed
%       (MTest just takes the full interface of the subsystem).
%       Note: Subsystems with SL (Bus)In/Outports still can not
%       be enhanced to a TL subsystem.
%
%   - Further enhancements to administrative data management
%       For the administrative data handling functions further
%       internal enhancements were implemented.
%       Some calls to the new functions were adjusted to handle
%       code refactoring (get global simulation options, create
%       catalog without eval data, reports without eval data,
%       selection GUI of models for Add TObj, ...).
%
%   - Compatibility enhancements
%       Due to changes in different MATLAB releases some
%       refactoring was necessary:
%       - multiple calls to Batch GUI in R2015B and newer (no
%         persistent handles in MTest_BatchConfig)
%       - location of plot legend in R2016B (no integer in
%         legend location)
%
%   - Workflow enhancements
%       - During MTCD/CTE/TESTONA import all previous test data
%         are cleared first. Thus, no artefacts of previous
%         imports remain in test data. On the other side, no
%         extension of previous import data is possible (which was
%         a feature quite some years ago, but is no longer used).
%
%   - Removed menu bar entry: Aggregate model/code coverage
%       - These menu options became obsolete, since they only applied
%         to SL and TL models. Moreover, coverage aggregation is
%         handled by the the batch mode entirely.
%
%   - Update of user guide
%       - The user guide received a major update reflecting the
%         new work flow and features of MTest as they have been
%         introduced in the releases v 4.0 and v 4.1
%
%
%%  MTest v 4.0 (October 2016)
%
%  - Complete overhaul of main GUI
%       The main GUI was reworked to represent the complete testing
%       workflow. The main tasks can be started by one click.
%       Important evaluation and status information and not yet
%       performed tasks can be seen directly.
%
%  - New evaluation framework introduced
%       The new framework enables a better data handling of
%       regression, back-2-back, and assessment evaluation.
%       This enables a more detailed (test sequence report) or
%       a more aggregated presentation (catalogs) of evaluation
%       information.
%       The new signal catalog is another new feature out of
%       the evaluation framework. More to come in future releases.
%
%       Attention: All evaluations must be re-performed by
%       MTest 4.x to make full use of the introduced feature.
%
%  - New signal catalog for aggregated regression/back-2-back results
%       The all new signal catalog provides compact information on
%       failed signal comparisons, which better supports regression
%       and back-to-back evaluation.
%       For each signal the failures over all sequences of one test
%       object are contained in one place.
%       Please try it out, we really love this one (further features
%       will be added in the next releases).
%
%  - Extensive overhaul of handling of administrative data
%       A lot of quite old internal methods were completely rewritten
%       and extended. Now many internal steps are much easier and more
%       clear at the same time.
%       An added benefit is the again much smaller handling time.
%       Try for instance catalog generation on your own.
%       If you ever used any internal calls into MTest m-files: they
%       probably do not work any more. Please contact MTest support.
%
%  - Selection of specific test object(s) in MTest_BatchProject
%       The execution can be narrowed to specific testmodels and to
%       specific testobjects (per testmodel).
%       See help MTest_BatchProject for examples.
%
%  - Change of file extension for TL data files
%       We changed the simulation mode specific extension of data files
%       for TL files
%        MiL: fl_tl  -> mil_tl
%        SiL: fx_tl  -> sil_tl
%        PiL: target -> pil_tl
%       See below for steps to adapt your projects for this change.
%
%  - Major release:
%       This is a major release. We changed a few things by design.
%       The step from an older MTest version is quite painless.
%       - Rerun all simulations (inkl. model/code coverage)
%       - Rerun all evaluations
%       - Regenerate reports and catalogs
%       If you used reference data, convert the naming of the ref data
%       files by using MTest_ConvertRefFiles.
%       The way back from 4.x to an earlier version is not granted
%       but feasible.
%
%  - Update of integrated FlexNet Publisher libraries
%       The integrated FlexNet Publisher libraries have been updated
%       to version 11.14.0.0 (same as MXAM Drive 4 and M-XRAY 3.1).
%       This update enables the license module to read dongle ids on
%       systems running the WibuKey driver in version 6.32 or above.
%       Older WibuKey driver versions are still supported.
%       If you experience problems with your Flex License Server,
%       please revert to the previous version of the DLLs in a previous
%       MTest version (in MTest/lismo) or contact MTest support.
%
%  - Borrow a floating license
%       Borrowing a floating license is possible. Please look at the
%       information in MTest/readme_installation.txt.
%
%  - MTest Tool Classification Kit available
%       Please contact sales@model-engineers.com
%
%
%%  MTest v 3.52 (August 2016)
%
%  - Interface analysis extended
%       Busses with only one signal are recognized as bus now.
%       Rate transitions and signal conversions are handled
%       during analysis of effective interface.
%       BusCreators in front of a (bus) output of the test object
%       are handled.
%
%  - Test bed generation
%       The layout of the bus creation subsystems was enhanced.
%       Now the layout can be recognized even for multiple
%       multi-level busses.
%
%  - TL Plot Overview windows not opened in batch mode simulation
%       If signals are logged in TL models, then TL opens a
%       TargetLink Plot Overview window during simulation.
%       In MTest batch mode this plot overview window is not
%       opened during simulation (logdata.plotchannels are set
%       to [] instead of -1).
%       During test bed generation an TL plot window can still
%       be opened
%
%  - CTC++ config checker enabled
%       The CTC++ configuration is checked before the first call
%       to CTC++. If anything is not correct, a detailed message
%       is provided and CTC++ is disabled.
%
%  - MiL simulation with TrueDoubles in Batch enabled
%       Added an option in MiL simulation to change all numeric
%       data types to TrueDoubles (aka boolean stay boolean).
%       Currently this option is available in batch mode only.
%
%  - Extended handling of test objects with loads of signals
%       To handle more than 800 signals as input interface the
%       test bed is generated in a more compact manner.
%       The MTCD template generation to Excel accounts for more
%       than 200 signals and parameters (to handle the Excel
%       cell size limits).
%
%  - Enabled display of Simulink.Parameter in Assessment Analyzer
%       The Assessment Analyzer can now display Simulink.Parameter.
%
%  - Fixed View Test Data no input signals shown
%       In 3.5 (only) the inputs were not shown in View Test Data
%       and Outputs.
%
%
%%  MTest v 3.5 (June 2016)
%
%  - Assessment activation on test sequences by linked requirements
%       The activation (or non-activation) of assessments
%       for test sequences can be easily limited according
%       to linked requirements. Assessments are only active
%       if the test sequence is linked to the same requirement
%       as the assessment. One matching requirement is sufficient
%       for activation.
%       This assessment scope can be configured for all assessments
%       in Evaluation/Configure Test Evaluation by the additional
%       option AssessmentScope. In each assessment the general
%       setting can be changed individually by static field Scope.
%       Additionally, you may also limit the scope of an assessment
%       to specified test sequences. See MTest User Guide for more
%       details.
%       The generation of new assessment templates is extended
%       to generate the new fields into the assessment template.
%
%  - Simulink.Bus objects recognized during interface analysis
%       If the data type of a port/signal is a Simulink.Bus
%       object, MTest uses the information of the object for
%       interface analysis (multiple bus levels, signals, and
%       data types). It is not necessary to compile the model.
%
%  - Interface analysis without compiling model
%       MTest now analyzes the test object interface even
%       when compiling (updating) the test model does
%       not succeed. This is especially important for
%       unfinished models where only some subsystems will
%       be tested (aka interactive test bed testing).
%       Buses will only be recognized if a Simulink.Bus
%       object is available (see above).
%       Data type of signals will be standard data type and
%       not the CompiledDataType.
%       A message is provided in the command window to notify the
%       user of the uncompiled analysis mode. Some signal attributes
%       only available in compile mode are missing in the interface
%       description (especially CompiledDataType).
%
%  - Check of CTC++ installation
%       When the CTC++ feature is activated in MTest (in
%       MTest_FindTool), MTest checks the validity of the
%       CTC installation (depending on the used code generator).
%       If any of the prerequisites is invalid a message is
%       provided to help solve the problem.
%
%  - Batch report creation during batch run time
%       The batch report is continuously written after each
%       batch action now. This txt report is located beside
%       the catalog files.
%       If MATLAB (and thus MTest) freezes during a long batch
%       run (and must be shut down) you may check how far the
%       batch run was already completed (and restart the
%       remaining part).
%       If a problem occurred you can quickly recognize the
%       next not successfully finished batch action and
%       search (interactively) for the source of the problem.
%       This feature is added as one of the results of the
%       upcoming MTest classification.
%
%  - Added check for length compliance of simulation output data
%       At the end of simulation (test execution) MTest checks
%       whether the length of input time and output vectors are
%       identical (and thus identical to input data).
%       This feature is added as one of the results of the
%       upcoming MTest classification.
%
%  - RCT activated for non-MTCD test specifications too
%       RCT reports can be generated for non-MTCD specifications
%       as well (direct test data, CTE/Testona).
%
%  - (Alpha) Controller Assessment utility functions
%       A first version of controller assessment functions
%       is included. They already proved their utility in
%       some projects.
%       Nevertheless, we are looking for feedback regarding
%       enhancements, missing features, incomplete features,
%       and further ideas.
%       BTW: The names of the functions may change with the
%       next major release (we are looking for even better
%       names).
%
%
%%  MTest v 3.4 (March 2016)
%
%  - Multi-parameter handling in MTCD actions enabled
%       An action line in MTCD can contain more than one named
%       parameter. This also includes MTCD functions, which can
%       be used with multiple parameters.
%       Named parameter settings from the test sequence
%       initialization are used even when a test group
%       initialization is present.
%
%  - Batch GUI now shows sequence and test group name
%       The selection lists in the Batch GUI now show the name
%       of the test group and the test sequence directly.
%       This makes selecting special test groups and sequences
%       much easier.
%
%  - Profiling of many batch actions saves quite some run time now
%       We profiled many of the batch actions and found some
%       lines of code which took too much run time. We improved
%       the implementation saving considerable run time.
%       This is most notable in projects with many sequences.
%
%  - RCT project report included in report zip file
%       The report zip file (Documentation/Zip Test Catalogs and
%       Reports) now contains the RCT project report as well
%       (if available). The RCT xls(x) files are included as well.
%       The RCT project reports are saved in the same directory
%       (Test) as the test catalogs now (previously they were saved
%       directly in the project directory).
%
%  - RCT report generation takes less time
%       The generation of the RCT reports could take quite a lot of
%       minutes for larger projects. Now it is back to seconds or
%       only a few minutes.
%
%  - Extended interface analysis for signal parameters
%       The recognition of signal parameters in bus signals was
%       extended. The analysis of non-double signal data types
%       in busses has been improved.
%       After changing an interface the differences are displayed
%       much quicker for larger systems.
%
%  - Enhanced usability for View Test Data and Outputs
%       The signal selection for viewing input and output signals
%       uses a standard list dialog now. This provides a
%       convenient way of selecting one or multiple signals.
%       Additionally, the axes of all plots are linked to each
%       other. This enables much easier synchronized zoom
%       functionality.
%       Up to 5 signals are plotted in one figure. Now all of
%       them are in one column (and not up to 2 columns as before).
%
%  - Enhancements to assessments
%       The deactivated Active flag ('false' or 0) now disables
%       the assessment completely (the assessment does not run).
%
%       If the CheckedRegion of a Passed assessment evaluation is
%       a vector containing only zeros, MTest adds an ATTENTION
%       note to the assessment result. This provides an additional
%       hint that your tolerances might be too large.
%
%       The Assessment Analyzer now recognizes the simulation mode
%       in the assessment configuration (if one is configured).
%
%       An implementation improvement in v 3.3 to handle check
%       region with mixed NaN/Inf boundary definitions in
%       MTa_compareSignals produced a longer run time than usual.
%       We improved the run time of the new code. Thus, regression
%       and back-2-back tests are quick again.
%
%       Scalar triggered, complied, and checked region signals
%       are saved and postprocessed as full vectors (i.e. generation
%       of failed messages and visualization in Assessment Analyzer).
%
%  - Evaluation author is taken from test group data
%       The author (aka tester) of the evaluation data is taken
%       from the data in the test group now (previously the
%       user name from the project data was used).
%
%  - Always reload DD CodeCov data during long TL simulations
%       During TL simulations with code coverage enabled the
%       code coverage experiment data must be saved before code
%       gen and reloaded after code generation to enable aggregation
%       of code cov data. When code generation for one sequence
%       fails, MTest still reloads the saved code cov data to
%       enable the aggregation of the remaining code cov data.
%
%  - Always clear output, eval, and local data before simulation
%       This clear step was already done - except if the code
%       generation in batch mode was not successful. Now the
%       clearing of these data files is still done (which provides
%       an additional feedback that something did not succeed
%       beside the screen messages).
%
%  - Replaced backslash in link path of HTML reports and catalogs
%       A few links in HTML reports and catalogs could contain
%       backslahes instead of slashes. This could produce non
%       working links, when the reports are located on a server
%       drive (except for IE, which handles this). Now these
%       links are conform.
%
%  - Attention
%       MES Tool users with dongle licenses may experience license
%       key problems after a recent update of the WibuKey dongle
%       driver. (In most cases, this update is related to the
%       installation of dSPACE TargetLink 4.1.)
%       WibuKey driver versions 6.31 and higher are affected. These
%       are distributed with applications ready for WibuKey/CodeMeter
%       licensing.
%       A fix is available upon request.
%
%
%%  MTest v 3.3 (Dezember 2015)
%
%  - Extended handling of special data types in test bed creation
%       The conversion of test input data according to original
%       data types in the test bed was extended.
%       Especially AliasTypes (as used with Embedded Coder) are
%       used now instead of the compiled data type as before.
%       The special compiled action data type for action trigger
%       signals is changed to double as well.
%
%  - If/else triggered subsystems are handled as testobjects
%       Subsystems, which are triggered/activated by an if/else
%       block can be directly used as testobject. During
%       interface analysis the action trigger port is recognized.
%       During test bed generation the action trigger is driven
%       by an if-block, which can be switched on/off by the
%       respective input signal.
%       The automatic enhancement of such if/else triggered
%       subsystems from a TL subsystem if the interface does not
%       consist of TL in/outputs is not implemented yet.
%
%  - Referenced model blocks as test objects
%       The blocks containing referenced models can be used as test
%       objects now. This is important if your referenced models
%       are not structured by subsystems (all functionality on
%       top level).
%       Current limitations: no SiL mode test bed for TL and EC
%       yet (we are working on it).
%
%  - All HTML reports created in utf-8 for all characters
%       The report creation was changed to utf-8. This helps
%       especially in the preservation of chinese characters
%       (and probably many others not seen yet).
%
%  - Helper function provided to switch MATLAB GUI to utf-8
%       MTest provides a function MTest_SetupUTF8Encoding to set up
%       the MATLAB environment to cope with utf-8 characters.
%       After calling the function any new (MTest) GUI item will
%       display the proper utf-8 characters.
%       See help of the function for more information.
%
%  - Enhancements to assessments
%       During assessment generation the selection of the covered
%       requirements is enhanced by displaying the beginning of
%       the requirement description beside the requirement ID.
%
%       Requirements and signals are sorted by ID / name in the
%       respective selection lists.
%
%       The layout of the Assessment Analyzer was enhanced. The
%       plots use as much area as possible. The signals are plotted
%       using stairs.
%
%       MTa_checkReaction now focuses on processing logical reaction
%       types. This improves understanding and facilitates a clearer
%       usage.
%       The reaction type (third input parameter) must be set
%       explicitly now (possible values are: alltrue/allfalse,
%       anytrue/anyfalse, notrue/nofalse). This provides a better
%       assurance of user defined assessments.
%       Older options are still available, but are not documented
%       any more and should be avoided in the future.
%       In some cases it is necessary to adapt already existing
%       assessments: when the reaction type is not defined (third
%       input parameter). You will be notified by an error during
%       first evaluation of this assessment.
%
%  - Full review of the MTest Assessment Framework
%       In preparation for the ongoing MTest qualification the
%       MTest Assessment Framework was completely reviewed.
%       You may recognize an extended or easier to understand
%       help section. And yes, a few unit test cases to cover
%       rare cases had to be written.
%
%  - In SL VnV Model Coverage no 'ConditionallyExecuteInputs'
%       MTest deactivates the model coverage configuration option
%       'ConditionallyExecuteInputs' when simulating the test bed
%       with activated model coverage.
%       This prevents the VnV toolbox from providing 'faulty'
%       coverage results when simultaneously dealing with switch
%       blocks and this activated option.
%
%  - MTest projects also recognized when drive letter changed
%       When changing MTest projects or loading a project
%       the saved path of the project is even recognized
%       when the drive letter changed (only changed drive letter
%       is recognized).
%       This is often the case with version control systems,
%       where the "sandbox" may change drive letter.
%
%  - Removed problem of test group limitation in catalog
%       Found the wrong search of test groups, which limited
%       the number of test groups in test catalogs to 99. Usage
%       of reworked list function (see below) provides enhanced
%       robustness.
%
%  - New Model/Code Coverage Framework in MTest
%       A new model/code coverage framework for the handling
%       of the coverage data values was added. It is already
%       part of the release. Currently it is not activated
%       by default. It may be activated in MTest_FindTool.
%       Results from the new Coverage Framework are currently
%       only used in the RCT dashboard.
%
%  - New internal methods for administrative info
%       Rework of methods for lists of test groups and test sequences.
%       Enables recovering from "unintended" deletion in file system
%       of test groups and test sequences.
%       The legacy testindex and Sequences vectors are no longer
%       needed (but still available). These vectors are updated
%       whenever a testobject (testindex vector) or test group
%       (Sequences) is selected.
%       Removed some internal legacy info, which is no longger
%       necessary (rb's). This leads to even shorter sequence
%       change times.
%
%
%%  MTest v 3.2 (September 2015)
%
%  - Extensions to RCT Framework
%       The work status names for test sequences and assessments
%       now have more meaningful names:
%        created      Item created
%        reqchanged   One of the referred requirements changed
%        described    Descriptive data provided
%        inwork       Item still in work
%        rejected     Item rejected after review process
%        completed    Item completed by tester and ready to use
%        reviewed     Item passed the review process
%       In case of legacy status names a message is printed in the
%       MATLAB command window pointing to the affected artifact.
%
%       Two metrics were added: assessment state monitor, and
%       test sequence state monitor. They are quantifications
%       of the status of all the assessments resp. test sequences.
%       These metrics have a value of 100% if all assessments/test
%       sequences are reviewed.
%
%       Requirements can now be assigned to more than just one test object in
%       the subsystem column of the RSD.
%
%       API call to generate the Project RCT report changed to:
%         MTr_RCT('action', 'generateProjectRCT')
%
%  - Export test metrics into MQC format (MQC Exporter)
%       All metrics from RCT can be exported to MQC (MES Quality
%       Commander) format. Use Documentation/Generate MQC data.
%       The data contains the current state from the MTest project
%       (aka current revision).
%       Beside the metrics the current project structure is exported
%       to MQC format as well (to quickly generate the test project
%        structure in an MQC project).
%
%  - Enhancement of test reports and catalogs design
%       The reports received further design enhancements.
%
%  - MTCD test group init section in test sequence report
%       The init part of MTCD test group is documented in the test
%       sequence report beside the test sequence initialization
%       and action. Now all parts of MTCD definition are shown in
%       the test sequence report.
%
%  - Added MTCD function pulsewave()
%       MTCD now provides an action function for generating
%       square/rectangle wave signals. See MTest User Guide
%       for examples.
%
%  - Clear of MTCD import cache file
%       To ensure up-to-date parameter values during MTCD import
%       MTest clears the internal MTCD import cache file whenever
%       an MTCD import is performed interactively (i.e. via menu)
%       or during batch mode each time a test group is entered.
%
%  - Documentation of parameter variation in test report
%       Changes in the used parameter values per sequence (compared
%       to standard parameter settings) are documented in the
%       test sequence report at the beginning of the test input
%       section.
%       For each changed parameter the used/changed value is
%       shown together with the standard/default value.
%       Parameter structures are analyzed down to changed scalar
%       values and only the changed values are documented.
%
%  - Documentation of used parameters for each test object
%       The (default) parameters of the current test object are
%       documented in a separate Parameter Report. This report is
%       saved in the test object directory. A link to the parameter
%       report can be found in each test sequence report at the
%       beginning of the input section.
%
%  - Added initial support for TL 4.0
%       The available functionality also works with TL 4.0.
%       Further features of TL 4.0 will be supported in the next
%       release (aka extended TL AUTOSAR support).
%
%  - Enhancements to user experience
%       After selecting a test object the first test group (if
%       available) is selected automatically.
%
%       New GUI menu entry to open configuration of signal tolerances
%       for regression and back-2-back testing
%          Evaluation/Configure Signal Tolerance
%       If the signal tolerance config file does not exist, it is
%       generated before opening it.
%
%       The function to clean up internal MTest data is accessible by
%       the new GUI menu entry: Help/Clear data
%       Using this call all or selected data files of the current
%       MTest project or test model can be deleted or reset. An all
%       option is available on the command line to be used in batch
%       scripts: MTest_cleanDirectoriesf('all', 'project')
%
%  - More ready to run examples added for evaluation configuration
%       The examples for evaluation configuration in
%       Evaluation/Configure Test Evaluation (MTest_SystemOptions)
%       are extended for more assessment variants and additional
%       back-to-back testing.
%
%  - Name and description of MTest project checked
%       The name and description of MTest project is checked for
%       invalid characters. The project name is used for the test
%       catalog file name and must contain only characters supported
%       for file names.
%       The project description should not contain string delimiter.
%
%  - No model coverage in Embedded Coder SiL and PiL simulation
%       Disabled possibility to perform model coverage in Embedded
%       Coder SiL (and PiL) simulation. Model coverage is only for
%       MiL mode.
%
%  - Fixed rare problem of not complete TL code coverage aggregation
%       When running MiL and SiL simulation in batch for the
%       very first time and collecting TL code coverage, the
%       aggregation during this batch run did not work. From the
%       second run on the results were correct. This first run
%       problem is solved now.
%
%  - Fixed problem during regeneration of test beds in batch mode
%       The regeneration of test beds in batch when the test beds
%       were not there at the beginning of the batch run produced
%       a failure for the second test bed. This works now as
%       expected from the beginning.
%
%  - Removed bug in Edit/View Test Data (and Outputs)
%       There was a (matrix concatenation) bug for rare cases in
%       View Test Data (and Outputs). This part was refactored.
%       In very special cases a few outputs were not available for
%       selection in the signal selection list.
%
%  - Global simulation parameter loaded before code generation
%       The global simulation parameters are loaded before code
%       generation in batch mode (and not only before simulation).
%
%  - Further extension of AutoPilot demo example
%       Added separate model for R2014b.
%       The reporting of run-time errors was extended. The checking
%       for simulation problems is easier now.
%       Use of new calls to RCT framework.
%
%  - Added support for fixdt data types in test bed generation
%       Instead of the compiled data type for fixdt DataTypes the
%       textual data type (fixdt(a,b,c)) is used. This produces easier
%       to handle test bed for Embedded Coder models.
%
%  - Changed generation of Embedded Coder test beds
%       The test bed for Embedded Coder (EC) models was changed.
%       MTest keeps separated test beds for MiL and SiL mode (the
%       online change of the MiL/SiL test object produced quite
%       a problem with V&V model coverage in newer ML versions).
%       Now the change between MiL and SiL test bed is done by
%       switching between the respective test bed models.
%       When switching from older MTest versions with EC models,
%       please regenerate your test bed once to use the new
%       mechanism (by using regenerate test beds in batch for
%       instance).
%
%  - (Alpha) Active referenced config set converted to active config set
%       If a referenced config set is used in the model (and the
%       active one), this referenced config set is copied to the test
%       bed as any other config set (long time existing feature).
%       Afterwards, the config set which is referenced is copied
%       to the test bed and activated. In this way parameters
%       of the configuration can be changed in the test bed.
%
%
%%  MTest v 3.1 (June 2015)
%
%  - Enhanced structure of assessments and better template generation
%       The suggested assessment structure was extended. Now two
%       sections are available: Data of assessment and Execution
%       information of assessment.
%       Using the data section a name and a description can be given
%       for each assessment (and a few more attributes). This
%       information can be defined long before the assessment can be
%       executed and it extends the documentation of assessment
%       considerably.
%       The execution section contains all the information for the
%       execution of the assessment. Some new fields are returned to
%       the MTest assessment framework for further processing (for
%       instance in the Assessment Inspector).
%       The assessment template generator (Evaluation/New Assessment
%       Template) provides an interactive way to gather the main
%       information needed for the template (which requirements are
%       assessed, ID of assessment and the used signals). The template
%       uses the suggested assessment structure and a lot of
%       additional information useful during assessment editing.
%       Of course, the previous assessment format is still fully supported.
%       However, quite a few of the new features (Inspector) are not
%       possible with the old assessment format.
%
%  - Added menu entry to Debug Assessments
%       Using Evaluation/Debug Assessments the defined assessments
%       can be accessed and run on the current test sequence directly.
%       Quite some information about the assessment and test sequence
%       is output in the MATLAB command window. The Assessment
%       Inspector is opened here as well.
%
%  - (Alpha) Added Assessment Analyzer (Inspector)
%       Provides information and signal graphics for one assessment run
%       on one test sequence. Main use is for reviewing and debugging
%       assessments (without writing an own plot script).
%       Try Evaluation/Debug Assessments and have a look. Especially
%       inspecting the triggered and complied regions is always
%       interesting and provides in-depth insight. Reviewing assessments
%       is now much easier.
%       Please be aware, this is a first alpha version - already
%       helpful. More is on the way.
%
%  - Extension of RCT Framework
%       RCT not only reads MTCD test specifications but also all other
%       types of test specifications MTest can work with.
%       The updated assessment format is included in RCT.
%       The labels of the RCT report and metrics were reworked (Test
%       Sequences instead of Tests).
%       The boundary of the target values of metrics is included in
%       target range (>= instead of >).
%
%  - GUI and Batch inclusion of CTC++ code coverage
%       The CTC++ can be configured in the GUI (Execution/Execution
%       options). The code coverage level selection contains beside
%       TL code coverage also the CTC++ code coverage.
%       The same selection of code coverage levels can be done in
%       batch (GUI) mode.
%       Changes in switching CTC++ on and off (developed together with
%       CTC++ developers) provide better support for 64bit with Embedded
%       Coder (tested with R2013b and R2014b).
%
%  - (Beta) Conversion from MTCD to CTE/TESTONA
%       Extended support for the conversion of MTCD test specification
%       to CTE/TESTONA test specifications.
%       Using MTest_ConvertMTCD2CTE complete MTCD test specifications
%       can be transfered to an identical CTE/TESTONA file (as far as
%       possible).
%       Many of the asynchronous features of MTCD (ramps outside test
%       steps and so on) are transferred by conversion to multiple test
%       steps.
%
%  - Extended checking for loaded/opened model
%       Before analyze interface and before testbed generation MTest
%       checks if the model is loaded/opened (this is done after model
%       selection, but the model could be closed by the tester
%       inadvertently). If the model is not open it is loaded in the
%       background.
%
%  - Automatic interface analysis before new test bed/effective test interface
%       Before a new test bed is (re)generated the interface of the
%       test object is analyzed automatically. Thus, if the interface
%       changed, these changes are taken into account during test bed
%       generation.
%       The same is done before accessing the effective test interface.
%       This ensures a more consistent workflow in the case of changing
%       test object interface.
%       Please remember to adapt these changes in your test specification
%       and assessments.
%
%  - Reporting of changes in interface of test object
%       Changes in the interface of the test object (Analyse interface)
%       are reported in the MATLAB command window (and in a message box
%       for interactive Analyze Interface).
%
%  - Separated MATLAB path setting and Java path setting
%       A separate function for adding MTest paths to MATLAB path and some
%       Java classes and lib dirs to Java Class Path was created.
%       Using mtest_paths the MATLAB and Java path can be extended long
%       before MTest is started.
%       This can and should be used in an integrated development environment,
%       where multiple applications extend the Java class path (including
%       the MES tools) and use java objects.
%       Why this is necessary: After changing the (dynamic) java class
%       path MATLAB clears java and thus all Java objects. In this way you
%       destroy the MES license handle object (and similar java objects
%       of other applications).
%       What this means: if you are using multiple tools then set all path
%       extensions at the beginning of your MATLAB session at once.
%       For MTest use: mtest_paths('add')
%       Afterwards start the tool(s). MTest does not extend the java path
%       again (and thus the java objects survive).
%       If you want to only use MTest, just start MTest in the usual way.
%       MTest checks at startup if all necessary paths are set (and if
%       they are set, nothing is done).
%
%  - Further extension of AutoPilot demo example
%       The demo example contains more status checks, more status
%       information, and an extended result output.
%       A few more feature possibilities are included in the demo.
%       It can also be used for MATLAB versions other than R2011b or
%       and R2013b (using the models of the next lower version).
%
%
%%  MTest v 3.0 (May 2015)
%
%  - Significant speed-up of runtime
%       We revised some internal processes so that MTest is much faster
%       now.
%
%  - Rework of design of test reports and catalogs
%       The test reports and catalogs received a design overhaul.
%       We like it a lot more than before.
%
%  - Extension of RCT framework
%       Now, the report generation is fully integrated into the batch test.
%       (GUI and MTest_Batch or MTest_BatchProject).
%       RCT now contains a completely revised set of (standard) metrics.
%       We performed a major overhaul of all report appearances.
%       The handling of a single RSD is supported.
%       An auto-testability functionality for automated filtering of
%       testable requirements is available.
%       The testers review of the imported requirements is called from the
%       GUI using Requirements -> Review Requirements / Manage Testability
%
%  - Extension of the generated MTCD template for test specification
%       The default parameter definition in the test group (first
%       row) now contains the default parameter values (if known
%       by test setup).
%       The MTCD template contains an additional column
%       to define/track the status of the respective test sequence
%       definition. This status information is used (and aggregated)
%       in RCT.
%
%  - Extension of conversion of test sequences from signal builder to MTCD
%       The extended features of MTCD (default parameters, additional
%       column for setting the RCT status) are available in converted
%       signal builder MTCD files as well.
%
%  - License mechanism included and enabled
%       The Flex license mechanism (already known from MXAM and M-XRAY)
%       is included and enabled.
%       Please have a look to readme_installation.txt in the main MTest
%       directory for installation instructions for the different
%       license variants (dongle, floating, ...).
%       This is the same mechanism as in MXAM 3.x and M-XRAY 2.x.
%       Info on the used license can be called by
%       MTest GUI/Help/View License Info (output in command window).
%
%  - Added menu entry to Open Assessments
%       Using Evaluation/Open Assessments the defined assessments
%       can be accessed (aka opened for view anmd edit) directly.
%
%  - Extended AutoPilot demo example with separate SL/TL/EC models
%       Extended demo example which contains the same autopilot
%       example as Simulink (SL) model, as a TargetLink (TL) model,
%       and an Embedded Coder (EC) model. The functionality is identical
%       in all model variants.
%       This complete demo project is available in R2011b/TargetLink 3.4
%       and R2013b/TargetLink 3.5 variants (ready to run).
%       The complete multi-platform test project can be generated using
%       the demo file: MTest_Demo_SysTest_Autopilot('multi').
%       Yes, it contains quite a few Failed.
%
%  - Deprecated old way of configuring assessments
%       The configuration of assessments is done in
%       Evaluation/Configure Test Evaluation.
%       There was a possibility in Documentation/Configure Test
%       Sequence Report a long time ago (which is still working as
%       backup). If you are still using this old way, you will
%       receive a deprecated message in the MATLAB command window.
%       Please change this old configuration to the correct way.
%
%  - Global simulation options also used for code generation
%       The globally defined simulation options are now loaded before
%       code generation (and not only before simulation) in batch mode.
%       Thus, defined continuous solvers and more are available during
%       parameter checking of the code generator (i.e. TL).
%
%  - MTest_Batch handles multiple models now in one call
%       The main batch MTest_Batchfunction was extended to handle
%       multiple models in one call. See help MTest_Batch for all
%       the details.
%       BTW, please use MTest_BatchProject to run complete projects.
%
%  - MTest_Batch produces batch summary information now
%       The batch summary output known from Batch GUI runs is now
%       also available in calls to MTest_Batch (and thus
%       MTest_BatchProject as well).
%       the output of the information was slightly reformatted
%       for better usability.
%       An overall batch run result is displayed at the end for a
%       quick indication, if all the batch steps were successful
%       or not.
%
%  - Renamed Clean code option in Batch GUI to SiL/PiL clean code
%       This clean code option in batch test dialog is used for SiL
%       and Pil at the same time. This is now reflected in the label
%       inside the dialog.
%
%  - Added support for Testona 4.x
%       MTest now supports TESTONA 4.x (the new name of the tool
%       formerly known as CTE XL).
%       To use Testona (instead of CTE XL 3.x) define the CTE
%       directory in Project settings using the path to the Testona
%       installation directory.
%       When using Testona, your "old" CTE files must be transfered
%       to the new format once (new extension .testona and very small
%       change in internal XML format). Just navigate in Testona to
%       the .cte files, open them and save as .testona. Afterwards
%       they can directly be used in MTest.
%       BTW, CTE/XL 3.x is still supported - nothing changed there.
%
%  - Convenient access to release notes
%       The current release notes can now be called conveniently
%       from the GUI using Help/View Release Notes
%
%  - Renamed verify utility functions to MTest name space
%       The utility functions were renamed from mes_* to MTest_*.
%       mes_verifyInput is now MTest_verifyInput and
%       mes_getVerifiedInput is now MTest_getVerifiedInput.
%       The old names are moved to AddOn/obsolete for a few releases.
%
%  - (Beta) Adapt relative path settings in TL DD search paths
%       Inside the TL DD the 'IncludeFileSearchPath' and
%       'SourceFileSearchPath' definitions can include relative path
%       settings. When the DD is copied from model to test bed these
%       relative path settings are now adapted (extended by the
%       relative path from test bed directory to model directory).
%
%  - (Beta) Extended adjustment of top level TL Function block step function
%       The adjustment is only done, when no GLOBAL_FCN definition
%       is found inside step function class (also definitions in a
%       FunctionClassGroup are taken as valid global definition.)
%       In some cases the definition of TL GLOBAL_FCN is not in
%       /Pool/FunctionClasses/GLOBAL_FCN. For this case MTest looks
%       for the defined path of GLOBAL_FCN and uses this special path
%       for the adjustment of TL step function class for top level
%       TL Function blocks. If multiple definitions of GLOBAL_FCN
%       exist, the first one is used
%
%  - (Beta) New interface description routines
%       See AddOn/MTS for more details.
%
%  - Extended CTC code coverage integration
%       The generated CTC code coverage reports are linked in and can
%       be viewed directly from the test sequence report (similar to
%       model and TL code coverage reports).
%       The integration of CTC was extended for better robustness
%       and usability (but seldom some problems with EC still occur).
%
%  - Correction of sin signal generation from MTCD
%       The sin signal starts now correctly at the very beginning of
%       the test step. Previously this start of the sin signal was
%       one simulation step too late.
%       This produced very small deviation when comparing two
%       sequences with identically defined sin but different length
%       of sin signal (now same signal form for same period duration).
%
%  - Corrected reset of previous assessment results
%       When using MTa_loadParameters4Assmnt outside of the intended
%       assesment routine (i.e. on the MATLAB command line or in own
%       scripts) the current assessment results of this test sequence
%       were reset.
%       Now the routine may be used (still not intended) without
%       reseting assessment results (which is done at another place).
%
%  - Project name may contain : now
%       Catalog files were not created with the correct name, if
%       the project name contained : (which is replaced by _ now).
%
%  - Extension of cleanup functionality of MTest data
%       The different reset functions were reworked and reset data
%       as expected. The Testsequence not defined message is fixed.
%
%  - Extended internal method to cache administrative info
%       Cache of model and project information is active.
%
