MES Model Examiner® - Release Notes
Guidelines, Checks, and Documents
Easy Analysis of EmbeddedCoder AUTOSAR Runnables
Compatibility with MATLAB R2023b and TargetLink 2023-B (23.1)
New Functional Safety Guidelines and Checks
Prohibit the usage of user-defined events in Stateflow charts with guideline mes_slsf_3500.
Ensure that re-usable model components have a resolved and enabled link with guideline mes_slsf_1500.
Ensure the usage of allowed rounding modes set in parameter ‘MES.mes_slsf_2200.allowedRoundingModes’ with guidelines mes_slsf_2200 and misra_slsf_008_b.
The chapter structure of the guideline document “Functional Safety Modeling Guidelines” was refined.
New dSPACE Guidelines for TargetLink (Versions 5.0, 5.1 and 5.2) available
Extended the Assisted and Automated Safe Repair of Findings
Improvements
Allow block name numbering for blocks with indentically-named constants with new check parameter ‘MISRA_SL_SF.misra_slsf_026_b.AllowBlockNumbering’ with guideline misra_slsf_026_b. (#11426, #11459)
The guideline mes_cgtl_4113 “Consistent Usage of Output Variables for Model and Code” and the associated check have been refined for better traceability between model, TargetLink data dictionary, and generated code. The default parametrization has been adapted to cover the main use cases. (#11525)
The check mcheck_db_0125_d now analyzes Stateflow atomic subcharts separately from the parent chart. (#6843)
Changes
The following guideline documents including their guidelines and checks are not part of the release anymore:
dSPACE - Modeling Guidelines for MATLAB®/Simulink®/Stateflow® and TargetLink® (dspace_tl_3_0)
Modeling Guidelines for dSPACE TargetLink - Version 4.0.3 (dspace_tl_4_0)
MISRA AC TL Modelling Style Guidelines for the Application of TargetLink in the Context of Automatic Code Generation (misra_ac_tl_1_0)
If you have any of these guideline in your guideline documents, the removed guidelines will be marked in red. Please refer to the new dSpace documents to add the new versions of the guidelines. You can find a mapping list in <MXAMDir>doc/MATLAB/dSpaceGuidelineMapping/dSpaceGuidelineMapping.xlsx
TargetLink Known Problems that are related to TargetLink versions older than 5.0 were removed from the document dSPACE TargetLink Known Problems
Bug Fixes
Some checks may have aborted when MXAM tried to evaluate a parameter of a block located in a library. This has been fixed. (#11427)
Fixed an issue where mcheck_na_0001 created false positive findings for charts with ‘ActionLanguage’ set to ‘MATLAB’ and ‘EnableBitOps’ set to false. (#11449, #11426)
Fixed an issue in mcheck_na_0039 where atomic subcharts were incorrectiy reported instead of Simulink Functions embedded in Stateflow Charts. (#6843)
Improved handling of syntax errors for checks mcheck_misra_slsf_038_a and mcheck_misra_slsf_038_b to now give a review. (#11352)
Fixed an issue where sdt_sc008 was not filtering out library blocks according to project global setting. (#11546)
Fixed an issue where mcheck_mes_cgtl_4306 aborted the analysis of Stateflow data items with the scope ‘Local’ or ‘Output’. (#11548)
Fixed an issue on Linux, where mcheck_ar_0001, mcheck_ar_0002, and mcheck_jc_0242 aborted because they failed to segment the MATLAB path. (#11593)
Fixed an issue where mcheck_jc_0773 reported a false positive for the execution order of unconditional inner state transitions when there are also existing outgoing transitions. (#11395)
Fixed an issue where mcheck_mes_mc_0011 and mcheck_mes_mc_0012 would abort on Simulink models that are not compilable. (#11608)
V9.3.0 October 2023
Guidelines, Checks, and Documents
New JMAAB Guidelines (Version 6.0) available
All guidelines from the new “JMAAB - Control Algorithm Modeling Guidelines Using MATLAB®, Simulink®, and Stateflow® Version 6.0” are now available in MXAM.
Review support of guidelines contained in chapter “Action language/MATLAB language” with checks mes_sl_generic_0001 and mes_sf_generic_0001.
New Checks Available Covering MAB Guidelines (5.0)
Ensure matching names between trigger signals or their source blocks and the respective destinations, such as subsystems, Stateflow charts, and events with guideline jc_0281.
Restrict the scope of Stateflow events to the level on which they are used with guideline db_0126.
Ensure that Merge blocks are connected to conditional subsystems only with guideline jc_0659.
New MES Checks Available
Ensure that the subsystem parameter ‘ShowPortLabel’ is set to ‘FromPortBlockName’ with mcheck_mes_slsf_1106 covering guideline jc_0602.
Restrict levels of nested If and Switch Case blocks to a number set in parameter ‘MES.mes_slsf_3301.AllowedMaxNumberOfIfAndSwitchCaseLevels’ with guideline mes_slsf_3301. (#11297)
Extended the Assisted and Automated Safe Repair of Findings
Improvements
Better performance on large Stateflow models during structural analysis and check execution. (#11194)
Range checking may now be performed without using functions from the Fixed-Point Designer toolbox. Before, Fixed-Point Designer functions were only used when using Data Type Conversion blocks for constant signals. (#11298)
Checking if user-defined names match reserved key words is now altered to be case sensitive. This affects the following checks:
jc_0201 (v02), jc_0211 (v02), jc_0221, jc_0231 (v02), jc_0232 and jc_0795
Bug fixes
Fixed an issue where mcheck_misra_slsf_006_c created findings for the property ‘sample time’ for trigger ports even when they were not visible in the block dialog. (#11233)
Fixed an issue where mcheck_mes_cgtl_4112 did not include the model root in the analysis and thus may not have found a TargetLink Main Dialog block. (#11278)
Fixed an issue where mcheck_mes_cgtl_4210 was aborting due to incorrect handling of the range calculation for some data types. (#11254)
Fixed an issue where several checks were unable to determine the correct data type of nested bus signals. (#11314)
Fixed an issue where mcheck_misra_slsf_038_a and mcheck_misra_slsf_038_b were aborting if a stateflow box with incorrect expression was being used. (#11352)
Fixed an issue where mcheck_db_0110 reported a false positive in case of negative numbers in vectors. (#11098)
Fixed an issue where checks mcheck_jm_0002_b and mcheck_misra_slsf_025_a_5 aborted in case the content of a library is known but cannot be accessed. (#11182)
Bugfix to make the finding repair possible for mes_sdt_sc006, na_0009, mes_cgec_2003, misra_slsf_029_d, mes_tl_0043_a, ds_0087 (#11304)
V9.2.0 July 2023
Tool Framework
Increased Robustness of Model Element Links
The link actions from MXAM into the model were renewed leading to several benefits. Opening model elements within findings or the Artifact Navigation is now more robust and the action was extended to support more elements. If small changes are made to the model, e.g. by repair actions or adaptations to the model structure, other links to model elements retain validity. Additionally, the ‘continue work’ mode when opening reports was improved.
Note: Annotations will become unmapped if their corresponding element is a Simulink line whose name contains line breaks.
Compression of mxmr Reports
Improvements
Update to Apache Commons Text 1.10.0 for security reasons (issue CVE-2022-42889). (#11020)
Preparation of compatibility to Java >=16 regarding update to XStream Version 1.4.20 and class loading.
Regarding report exports, the token replacement of %PROJECT%, %MODEL% and %SYSTEM% in the report name was adapted. If one of these replacements is too long, it will be shortened to an appropriate length. This prevents report names from exceeding the length that the operating system can handle for save or export. (#10761)
Issues during artifact selection are now reported via a concise error dialog. (#10905)
Set RMI hostname to local machine before initiation of connection between MATLAB and MXAM. (#10148)
Bug Fixes
Fixed an issue where if annotations were created within a narrow time frame, across different time zones. These may have been displayed in an unexpected order. This bugfix applies to to annotations created from MXAM version 9.2.0 onwards. (#11103)
Fixed an issue with the horizontal scrollbar in the Detail View. (#10050)
Fixed an issue that led to an error when clicking on ignored findings. (#11222)
New parameters in the MATLAB adapter are now handled correctly with their default value. (#11100)
In chapter ‘Execution Environment’ of the MXAM HTML report, the tool name is added correctly to version and edition information. (#11005)
Fixed an issue with the execution of the Linux distribution. The program is now set to executable by default. (#11027)
Fixed an issue when calling mxam.m successively. (#11152)
Issues when calling the License Manager are now reported.
Fixed a MXAM 9.1 issue which aborts checks when mxam_hookGlobalParameters is found in the MATLAB path. (#11224)
Guidelines, Checks, and Documents
Integrated Support for AUTOSAR Models
Identification of Duplicate Stateflow Code
Extended the Assisted and Automated Safe Repair of Findings
New repair functionality has been added to checks for the following topics:
Color Settings: mcheck_misra_slsf_023_a, mes_mes_color_001
Stateflow State Label Layout: mcheck_jc_0501
Conditional Subsystem Layout: mcheck_db_0146
New Checks Available Covering MAB Guidelines (5.0)
Prohibit the comparison of logical constants in Stateflow transition conditions with guideline jc_0655. (#10477)
Ensure an explicitly defined default value for enumerations with guideline na_0031.
Ensure the correct usage of Multiport Switch blocks to prevent unexpected behavior with guideline jc_0630.
Additions and Improvements to Checks for Signal Naming Requirements
Ensure that the property ‘SignalPropagation’ (if available) is set to ‘off’ in case there is no signal name or it is an output of a reusable subsystem with check mcheck_mes_slsf_1107 and guideline and jc_0009. (#11140)
Verify that specified signals are named at the source and are not re-named with check mcheck_mes_slsf_1102 and guideline jc_0008. (#11140)
Ensure that Enable and Trigger ports have the same name as their input signal with check mcheck_mes_slsf_1105 and guidelines misra_slsf_026_c and jc_0281.
Guideline jm_0010: New check mcheck_jm_0010 instead of mcheck_jm_0010_a and mcheck_jm_0010_b
Guideline misra_slsf_026_c changes:
Check now only analyzes Inport and Outport blocks.
Removed check parameter MISRA.misra_slsf_026_c.IgnoreSimulinkPorts.
Check parameter MISRA.misra_slsf_026_c.LabelSignalLinesConnectingReusableSubsystem was removed to adhere to the guideline and to maintain a consistent behavior with other naming checks.
Check parameter MISRA.misra_slsf_026_c.CheckEmptySignalNames was removed, as this is now covered by this check and mes_slsf_1103.
Removed check parameter MISRA.misra_slsf_026_c.IgnoreTriggerEnablePorts because Trigger and Enable are covered by mcheck_mes_slsf_1105.
Improvements
The check sdt_sc004_c now calculates the adjusted range of typecast constants and accounts for any resulting overflow/underflow behavior and precision loss.
mcheck_na_0002: The check now supports multilinks to improve finding navigation in Simulink. (#10953)
mes_sltl_002_b, jc_0481, mcheck_sf_001, mcheck_db_0110: Improved the check runtime. (#10960, #10956, #10959)
The check mcheck_db_0146 now has new parameters MAAB.db_0146.ForEach.Range and MAAB.db_0146.ForEach.Region for customizing the location of ForEach ports.
The check na_0020 was renewed in order to increase performance and usability.
Changes
Set version 01 of guidelines db_0140, na_0008 and na_0009 to ‘obsolete’.
Removed the check-based repair action from version 1 of check db_0140, as version 2 already supports the newer finding-based repair action.
Bug Fixes
The ‘Unused Inputs’ metric and corresponding check matlab_mxray_1306 now support BusSelector blocks with the ‘OutputAsBus’ option selected. (#9786)
Fixed an issue where mcheck_sdt_sc004_c would not ignore blocks with ‘Single’ type or give warnings for blocks with floating point output, and the check parameter .IgnoreRangeOfFloatOutput set to true. (#10961)
Fixed an issue where mcheck_misra_slsf_027_fgi would generate invalid failed findings on a Demux block inside a MATLAB function. (#10942)
Fixed an issue where mcheck_na_0002 would report an invalid failed finding for mux blocks in a TargetLink model. This affected blocks with only boolean sources, when used as a source to a block expecting a boolean input. (#10953)
Fixed an issue where mes_mes_cgtl_4302 would report an invalid failed finding on a graphical function statement without an output. (#10996)
Fixed an issue where mcheck_misra_slsf_006_a and mcheck_misra_slsf_006_b analyzed calibration parameters that ran via an input port. (#10996)
In certain situations, MXAM evaluated block and mask parameters with short-format precision. This has been fixed to preserve the total long-format precision of up to 15 decimal places. (#11006)
Fixed an issue where MXRAY-based checks (matlab_mxray_130*) would abort with the error message ‘Untreated block diagram type!’ when executed directly on Simulink Referenced Subsystems. (#10957)
On rare occasions, mask parameters containing a path to another model may have caused MXAM to open that model. This can no longer occur. (#10979)
V9.1.1 June 2023
Tool Framework
Improvements
Bug Fixes
Guidelines, Checks, and Documents
Guideline References
V9.1.0 April 2023
Tool Framework
Pre-check Before Analysis
New Repair Finding MATLAB API
Improvements
Added option to anonymize paths in the exported reports.
Filter settings in library browser are now persisted.
Improved handling of a changed license configuration for MXAM in MATLAB. This no longer requires a MATLAB restart to become effective. (#8519)
If unmapped annotations are detected, new validation markers are now generated.
Added information regarding the installed edition to several places in MXAM, i.e. to information in gui, to mxam.exe property info, and to the log file.
Annotations in deprecated format are now highlighted in the annotation view.
Bug Fixes
Fixed a bug with certain findings being fixable although the corresponding check has its repair option set to false. (#10794)
Fixed a bug that could occur while editing an ignore list. In very rare cases, edited values could get lost. (#10661)
Fixed license error if license file or license server is not configured. (#10791)
Guidelines, Checks, and Documents
Extended the Assisted and Automated Safe Repair of Findings
New repair functionality has been added to checks for the following topics:
Code Generation Options: mcheck_mes_cgtl_9002, mcheck_mes_cgtl_9003, mcheck_mes_cgtl_9004 (#10768)
Stateflow Layout: mcheck_jc_0731, mcheck_jc_0752 (#10514, #10508)
Further topics: mcheck_misra_tl_1_2_b, mcheck_misra_tl_5_10 (#10767)
Ensure Readiness of Model and Setup for Static Analysis with MXAM
Integrated Support for Model Variants
The scope of the analysis can be configured by a global parameter ‘Variants’ to include either only active variants or all variants. This parameter is applied to all checks and replaces the parameter ‘Global.FilterConfigurableSubsystems’. (#10723)
If the old parameter ‘Global.Filter.ConfigurableSubsystems’ is not set to default in a project, the parameter is not used by MXAM anymore and should be removed. (compatibility considerations)
New checks Available Covering MAB Guidelines (5.0)
Verify that the block parameter ‘Sample Time’ is set to ‘-1’ with guideline jc_0641. (#10442)
Ensure the correct usage of continuous-time and discrete-time Delay blocks in continuous and discrete models with guideline jc_0623. (#10478)
New MES-MATLAB Checks for Signal Naming Requirements
We have added new checks for signal naming requirements from MISRA AC SLSF and MES Functional Safety Modeling Guidelines standards.
New version (v02) of the MISRA AC SLSF guideline document containing the new guideline misra_slsf_027_abcdfghi merging the respective part from the original document.
Re-organization of MISRA SLSF 027 guidelines for better usability.
Verify that specified signals are named at the source with check mcheck_mes_slsf_1102 and guidelines misra_slsf_027_abcdfghi, sdt_sc005, and sdt_sc006.
Ensure that the property ‘SignalPropagation’ (if available) is set to ‘on’ with check mcheck_mes_slsf_1104 and guidelines misra_slsf_027_abcdfghi, sdt_sc005, and sdt_sc006.
Prohibit re-naming of a signal and naming of a signal not at the source with check mes_slsf_1103 and guidelines sdt_sc005 and sdt_sc006.
Improvements
mcheck_jc_0795: The check now supports repair of Stateflow.Data objects with identification feature ‘SID’ or ‘SID&Path’ due to the corrected SID computation. (#10599)
mcheck_slsf_031_a and mcheck_db_0141: The respective check parameter ‘<CheckID>.AllowedBlocksInLoops’ is now considered in case a subsystem is used in a feedback loop. Additionally, check messaging for prohibited blocks in feedback loops was refined. (#10770)
mcheck_sdt_sc008: The check parameter ‘MES.sdt_sc008.blocksToCheck’ was enhanced so that inputs and outputs of blocks can be specified to be checked for implicit data type conversion. (#10737)
The document Modeling Guidelines for dSPACE TargetLink - Version 2022-B is now available in the library. (#10805)
The ISO 25119 references in the guidelines were updated to the ISO 25119:2018 version of the standard. (#10752)
Changes
Bug Fixes
Fixed an issue where mcheck_mes_sk_006 reported invalid failed findings on Simulink Inports and Outports used in TargetLink subsystems of AUTOSAR models. (#10758)
Fixed an issue where the signal tracing could not resolve TL_SWCSenderPort and TL_SWCReceiverPort blocks in some circumstances. (#10882)
Improved the detection of bus signals for check mcheck_misra_slsf_036_a. (#10857)
Improved handling of Simulink.Bus and overall bus support in misra_slsf_013_b. (#10842)
Fixed mcheck_ds_0029 such that it can trace bus signals to its source. (#10639)
Signals can now be traced through enable and trigger ports with output signals. (#10870)
Fixed an issue in various checks where Sqrt blocks were not correctly identified (mcheck_ds_0019 ,mcheck_ds_0020, mcheck_ds_0022, mcheck_ds_0024, mcheck_ds_0026, mcheck_ds_0028, mcheck_ds_0034, mcheck_ds_0035, mcheck_ds_0036, mcheck_ds_0039, mcheck_ds_0041, mcheck_ds_0050, mcheck_ds_0051, mcheck_ds_0052). (#10818)
Fixed mcheck_jc_0794 such that it identifies Reciprocal blocks for potential Division by Zero occurrences. (#10684)
Fixed an issue where a subsystem with only one block was leading to abort for check misra_tl_1_2_b. (#10898)
Fixed an issue where Stateflow related checks would abort in certain situations, when using MATLAB R2022a or later. (#10884)
misra_slsf_012_a, jc_0141, misra_tl_5_8: The check could not repair findings on TL Switch blocks. (#10793)
The check mcheck_misra_slsf_007_a will no longer check the initial condition of virtual outports in conditionally executed subsystems. (#10921)
Fixed an issue where the check mcheck_misra_tl_7_1 could abort if multiple TL_MainDialogs were present in the model. (#10936)
V9.0.0 January 2023
Tool Framework
New repair finding functionality
MXAM now provides a new repair functionality, that can work on a set of selected findings. This functionality also features a new dialog, that shows detailed information of the model part, the specific reason and the repair action for each finding. Additionally, the user has the possibility to use the previously existing check-based repair.
Improvements
The MES License Manager disables configuration and shows a warning text if a Flexera environment variable like MES_LICENSE_FILE is defined, because these variables prevent other means of configuration.
Extended the ignore list configuration by adding a scope for blocks and masks. In addition to ignoring the complete subsystem hierarchy of an element, users can now configure to only ignore the underlying hierarchy or only the selected element.
Updated the license module, which is now based on Flexera 11.19.1.
Bug Fixes
Guidelines, Checks, and Documents
Assisted and Automated Safe Repair of Findings
MXAM’s new feature to select and fix findings based on the user’s choice is now supported by 85% of all repairable checks.
New repair functionality has been added to the following checks: mcheck_mes_slsf_1301, mcheck_sdt_ic002, mcheck_sdt_sa001, mcheck_misra_slsf_008_a, mcheck_mes_cgtl_4105. (#10528)
The repair actions of the following checks have been improved to yield the correct element names after only one repair run: mcheck_jc_0201, mcheck_jc_0211, mcheck_jc_0221, mcheck_jc_0222 ,mcheck_jc_0231, mcheck_jc_0232, mcheck_jc_0795, mcheck_na_0030, mes_slsf_1101. (#10528)
New checks available covering MAB Guidelines (5.0)
Ensure that Stateflow state names are followed by a new line and no slash (/) with guideline jc_0731. (#10476)
Prohibit the use of variables in Stateflow transition conditions if they are updated in the “during” state action with guideline jc_0741. (#10392)
Ensure that the parentheses of a Stateflow condition action in a transition have a line of their own with guideline jc_0752. (#9375)
Prohibit Stateflow transition actions or the combination of condition and transition actions in the same chart with guideline jc_0753. (#10391)
Prohibit data scopes “local”, “constant”, and “parameter” on machine level and data with the same name in Stateflow blocks in a parent/child relationship using guideline db_0125. (#10196)
Verify the correct setting of block annotations given by the parameter MAAB.db_0140.AttributesFormatString with guideline db_0140. (#10475)
Ensure that the bias of a fixed-point data type is set to ‘0’ with guideline jc_0643. (#10443)
Prohibit compound conditions with multiple variables in variant conditions of variant blocks with guideline na_0037. (#10217)
Ensure that the else condition of an If block and the default condition of a Switch Case block are enabled with guideline jc_0656. (#9486)
Prohibit data type conversion in Saturation blocks with guideline jc_0628. (#10479)
New MES-MATLAB guidelines and associated checks (in Functional Safety Solution only)
Avoid redundant AND conditions in transitions with guideline mes_slsf_1302. (#10218)
Ensure the consistent usage of output variables for model and code with guideline mes_cgtl_4113. (#10305)
Limit the number of nested if and switch control patterns with guideline mes_slsf_3301. (#10305)
Compatibility with Matlab R2022b and TargetLink 2022-B
Made minor adjustments to ensure compatibility of framework and checks with Matlab R2022b and TargetLink 2022-B.
mcheck_mes_cgtl_9002: This check is now capable of analyzing code generation options introduced in TargetLink 2022-B. (#10526)
Improvements
For better usability, multiple findings on one model element were merged to one finding in the following checks: mcheck_jc_0201, mcheck_jc_0211, mcheck_jc_0221, mcheck_jc_0222 ,mcheck_jc_0231, mcheck_jc_0232, mcheck_jc_0795, mcheck_na_0030, mes_slsf_1101. (#10528)
The link actions for mcheck_misra_slsf_050_a/b/c/d now support the highlighting of Stateflow annotations.
mcheck_misra_tl_1_2: The check now has a parameter (MISRA.misra_tl_1_2_a.CheckDataDictionary) to exclude the TargetLink Data Dictionary from the analysis. (#10445)
mcheck_jc_0081: The check is now referenced in version 02 of the guideline with an improved check description. (#10441)
mcheck_cgtl_4209: The check now analyzes all variable classes that can have an initial value declared in the block’s dialog box. (#10440)
misra_slsf_054_e: The check now has a more specific finding message regarding the placement of parentheses. (#10673)
Changes
Warnings with identifier ‘Simulink:Commands:FindSystemDefaultVariantsOptionWithVariantModel’ are now being suppressed in the MATLAB command window during MXAM runtime. (#10663)
Commented Stateflow elements (e.g., transitions, states, …) are now excluded from analysis. (#10393)
mcheck_db_0042_a: Support for the repair option has been discontinued. (#10226)
Bug Fixes
Fixed a rare issue where mcheck_mes_misra_slsf_036_a would get stuck during analysis. (#10402)
Fixed an issue related to signal tracing in signals combined by a Mux block in mcheck_sdt_sc004_b. (#10512)
Fixed an abort due to an API inconsistency in MATLAB R2016a and R2016b for mcheck_jm_0002_b. (#10543)
Fixed an issue where warning messages regarding ‘OutDataTypeMode’ were displayed in the MATLAB command window for mcheck_sdt_sa002_a/b, and mcheck_ds_0025. (#10658)
V8.2.0 October 2022
Tool Framework
Support for queued license checkout for CI use case
MXAM now supports waiting for licenses in a queue if the license server does not have an available license at the time of the request.
A timeout can be set to configure MXAM’s maximum wait time for a license to become available, after which the request will stop and the corresponding task will fail.
This feature requires the MXAM_CI_EXEC license.
Improvements
Automatically close information dialog for idling MXAM for API access which stops idling (e.g. via web service).
Updated message in details view, which indicates the available repair options.
Increased default memory setting in mxam.ini to 2GB and removed outdated setting.
Configured default RMI host name in mxam.ini as a precaution for VPN usage.
Improved log file content by omitting duplicated entries which fill up the log. (#5533, #10273)
Bug Fixes
The link action to highlight findings related to signal lines failed if the model was closed after report creation, or if an existing report was imported in “continue analysis” mode. This has been fixed. (#10147)
Fixed support email template for usage with Microsoft Outlook, in which the email body was set as the subject line. (#9902)
Fixed file encoding of license configuration file. (#10071)
Fixed a bug that caused an error when calculating the “Ineffective Interface” metric on a model that contains a bus creator where Simulink is unable to determine the signal hierarchy at the output port of that bus creator. (#7306)
Fixed a bug that caused an error when the model being analyzed contained a reference to a library subsystem that had a punctuation mark in its name (e.g. “my block . name”). (#9775)
Fixed file encoding of preference files. (#10109)
Fixed web service API to query MXAM availability when MXAM is in shutdown process. (#10060)
Fixed scaling of details view content of library items for linux which prevented proper visibility of the details. (#10050)
Fixed timeout handling for synchronous batch execution and increased the default timeout value. (#9612)
Fixed DataFlow construction for children of ASCET Statement Block. (#10145)
Fixed handling of ASCET SequenceCalls in Statement Block. (#10117)
Fixed handling of ASCET StatementBlock in computation of InputConnectors. (#10039)
Fixed application of ignore list rules for path rules containing “E”. (#9511)
Disabled tray icon notification for linux, which could cause hanging analysis for some desktop managers. (#10209)
For MATLAB versions R2020b and lower, structure element names, which only differ in capitalization, may have been capitalized incorrectly in MXAM’s artifact navigation. (#9520)
Fixed the dialog shown for idling MXAM for linux, preventing an additional and superfluous empty dialog shell. (#10124)
Guidelines, Checks, and Documents
New checks available covering MAB Guidelines (5.0)
Ensure unique names of states in Stateflow with guideline jc_0730. (#10152)
Ensure unique names of Stateflow state, data, and events with guideline jc_0732. (#10152)
Ensure the correct order of Stateflow state action types “entry - during - exit” with guideline jc_0733. (#10197)
Prevent backtracking in Stateflow due to missing unconditional transitions in flow charts with guideline jc_0773. (#10153)
Prohibit equivalence comparison (==, ~=) with floating-point data types with guideline jc_0800. (#9374)
Ensure that the first index property of a Stateflow data item is set to ‘0’ or ‘1’ with guideline jc_0701. (#10151)
Prevent state action types from being used more than twice in Stateflow with guideline jc_0734. (#10198)
Prevent the usage of multiple inner transition or at least ensure a correct to top to bottom order based on execution order with guideline jc_0763. (#10202)
Ensure that only signal lines are used to share data between MATLAB functions with guideline na_0024. (#10075)
Verify the setting of ‘Unused data, events ,messages’ in order to notice unused Stateflow data with guideline jc_0700. (#9052)
Verify the setting of ‘Unreachable execution paths’/’Transition Shadowing’ on order to avoid dead transition paths with guideline jc_0772 (#9052)
Verify the correct setting of model diagnostics in order to ensure code generation with guideline jc_0021. (#9052)
Ensure that transitions, states, and junction in Stateflow are connected with guideline jc_0797. (#10112, #10115)
Prevent unused data in the model workspace and in the Simulink data dictionary with guideline jc_0792. (#10073)
Ensure that data store memory blocks are placed at the smallest scope level with guideline jc_0161. (#10219)
Prohibit the use of state action in flow charts in order to ensure readability of a Stateflow chart with guideline jc_0762. (#10199)
Ensure that folders and filenames are follow naming conventions with guidelines ar_0001 and ar_0002. (#10111)
Ensure that the usage of nested if/else statements is limited to three levels with guideline na_0018. (#10074)
The following guidelines are now also covered in version 2 by a check: db_0143, jc_0451, jc_0511, jm_0002, na_0011, db_0122. (#10069)
New dSPACE Guideline for TargetLink (versions 5.0, 5.1 and 5.2) available
MXRAY model metric check
Verify that the value of a model metric of your choice is below configurable bounds with check matlab_mxray_generic_0001. The check supports all architectural model metrics provided by MXAM. (#10061)
Verify that the global complexity R0 is below configurable bounds with guideline mes_arch_1308. (#10061)
Compatibility with MATLAB R2022a
Some adjustments were made in order to ensure compatibility with MATLAB R2022a due to changes in the Stateflow API. (#10206, #10208, #10243)
mcheck_db_0122, mcheck_ds_0058, mcheck_misra_slsf_034_c, mcheck_misra_tl_4_2, mcheck_sdt_sc002_a: These checks no longer analyze the property ‘Use Strong Data Typing with Simulink I/O’ when run on MATLAB R2022a. (#10214)
New MES-MATLAB guidelines and checks available
Avoid extrapolation in Prelookup tables with mes_slsf_0626 (mcheck_mes_slsf_0626).
Control the number of operands in Sum blocks mes_mc_0012 (mcheck_mes_mc_0012).
Ensure Consistent numbering and placement of port blocks with mes_sk_008 (mcheck_mes_sk_008_a, mcheck_mes_sk_008_b).
Avoid redundant action code in transitions with the same destination with mes_slsf_1301 (mcheck_mes_slsf_1301).
Restrict the allowed variable classes for Targetlink lookup blocks with mes_cgtl_4208 (mcheck_mes_cgtl_4208).
Restrict the allowed variable classes of state variables in all Targetlink blocks with mes_cgtl_4209 (mcheck_mes_cgtl_4209).
New version of the ‘MES-MATLAB Guidelines - Collection of Best Practices’ available
Improvements
If the related metric value could not be computed for evaluation, the finding type for MXRAY model metric checks was “Aborted,” we have changed this to “Review.”
mcheck_misra_slsf_027_j: The check was rewritten to provide a better coverage of the guideline rationale. This includes the improved handling of linked subsystems, more detailed information on faulty elements as well as a consistent distinction between signal naming and label propagation. (#9363)
mcheck_misra_tl_5_6, mcheck_ds_0047: The checks now correctly handle the ‘Specify Indices’ option of Multiport Switches. (#10027)
mcheck_misra_slsf_052_a, mcheck_misra_slsf_052_b, mcheck_misra_slsf_053_b: The check now uses multiple links in the finding message to navigate to all relevant items of a finding. (#10152, #10201, #10011)
mcheck_misra_slsf_055_a: The check has improved handling of implicit Stateflow state action types. (#10197)
mcheck_sdt_sc002_e: The check now issues review findings instead of failed. It also uses multiple links in the finding message to navigate to relevant items of a finding. (#9962)
Bug Fixes
mcheck_jc_0501, version 02: The repair action has been fixed for MATLAB versions R2015b and older. (#9780)
mcheck_mes_slsf_2000, mcheck_mes_slsf_2001, mcheck_misra_slsf_007_a: The checks were aborted if they were not executed on the top level of a model. This has been fixed. (#10251, #10255)
ds_0103: The check was aborted if the source block of the analyzed Math block defined a vector signal. This has been fixed. (#10288)
V8.1.0 July 2022
Tool Framework
Linux is supported as operating system to run MXAM (BETA)
Unused licenses are automatically returned to license server when no tool usage is detected
Improvements
Updated ASCET Adapter to support version 6.4.6 of ASCET.
Improved performance of logging initialization.
Allow specification of java runtime to use with MATLAB API.
Updated license module now bases on Flexera 11.16.
Bug Fixes
Guidelines, Checks, and Documents
New dSPACE Guidelines for TargetLink (Versions 5.0, 5.1 and 5.2) available
The new versions of the following guidelines are now automatically checkable (#9880, #9936)
General Guidelines for Simulink, Stateflow, and TargetLink
Block-Specific Guidelines
Look-Up Table Library: TL_RULE_LUT_LIB_NO_GENERAL_TENSORS
Logic and Bit Operations Library: TL_RULE_LOGICBIT_LIB_RELOP_LOGOP_SL_TYPE
Math Operations Library: TL_RULE_MATH_LIB_PROD_BLOCK_NUMBER_INPORTS, TL_RULE_MATH_LIB_PROD_BLOCK_SETTINGS, TL_RULE_MATH_LIB_TRIGO_DATATYPES
Model Verification Library: TL_RULE_MODELVERIFY_LIB_ASSERT_SIGNAL
Signal Attributes Library: TL_RULE_SIGNALATT_LIB_DATA_TYPE_CONV
Signal Routing Library: TL_RULE_SIGNALROUT_LIB_DSMEMORY
Ensure that the correct options are set for Platform-Specific Code Generation with guideline TL_RULE_SWDESIGN_ANSI_CODE_MISRA (mcheck_mes_cgtl_9004) (#9964)
Ensure the setting of code generator option ‘UtilizeBitwiseShiftOperations’ to avoid shift operations and achieve compliance to MISRA-C:2004 Rule 12.7 and MISRA-C:2012 Rule 11.4 with guideline TL_RULE_SWDESIGN_MULT_VS_BITSHIFT_MISRA (mcheck_mes_cgtl_9003) (#9881)
Ensure that all signal input signal ranges are contained in axis ranges of Look-up table blocks with guideline TL_RULE_LUT_LIB_SCALING_INPUT_VS_AXES (mcheck_mes_cgtl_4210) (#9367)
Ensure the use of unique identifier names for functions and variables in compliance to MISRA-C:2004 Rule 5.6 and MISRA-C:2012 Rule 5.2 with guideline TL_RULE_SWDESIGN_AVOID_OVERLAPPING_NAMES (mcheck_mes_cgtl_4114) (#9887)
Ensure the ‘Solver’ option in Simulink with guideline TL_RULE_GENERAL_SOLVER (mcheck_mes_slsf_9004) (#9953)
Enforce the unique declaration of external variables and external functions in compliance to MISRA-C:2004 Rule 8.8 and MISRA-C:2012 Rule 8.5 with guideline TL_RULE_SWDESIGN_EXTERNALS (mcheck_mes cgtl_4303 and mcheck_mes cgtl_4304) (#10005, #10006)
Improvements
mcheck_sdt_sc008: There is now an additional link to an input’s source block in the finding message. (#9705)
mcheck_sdt_sc004_c: The range computation for the output of unit delay blocks is now based on the computed range of the input signal instead of the output data range. (#9883)
Priorities of several dSPACE guidelines updated. (#9996)
Bug Fixes
mcheck_misra_slsf_048_g: When a Stateflow transition only contained delimiters or comments the check aborted. This has been fixed. (#9997)
mcheck_misra_slsf_013_b: When a control input of a switch block originated from a Simulink bus object port, the data type was not analyzed correctly. This has been fixed. (#9919)
mcheck_jc_0711: When a stateflow transition action or transition condition contained a syntax error the check aborted. This has been fixed. A review finding is now reported in this case. (#9926)
mcheck_ds_0087: The position of annotations with text alignment other than ‘left’ is now calculated correctly for MATLAB versions greater than 2016b. (#9944)
mcheck_misra_slsf_045_d: The check no longer aborts, if there is an event in the analyzed transitions. (#9604)
mcheck_misra_slsf_048_g: The check no longer aborts on non-empty transition labels containing only formatting characters or comments. (#9997)
V8.0.0 April 2022
Tool Framework
Improvements
Improved the display of finding messages that contain references to additional elements by using footnotes in case the links are not navigable (e.g. Excel or PDF reports).
Added an architectural metrics table to exported HTML and PDF reports.
Added parameter configuration details to exported Excel reports.
Bug Fixes
MXAM now prevents a false positive MATLAB warning in MATLAB 2017b when the warning ‘MATLAB:subscripting:noSubscriptsSpecified’ is activated. (#9756)
Fixed the detection of MXAM headless execution mode for the report export when the analysis is triggered from the MATLAB context menu. (#9827)
Guidelines, Checks, and Documents
New MAB Guidelines (Version 5.0) available
Ensure that the datatypes of all inports and outports of switching blocks are the same with the guideline jc_0650. (#9534)
Verify the saturation settings of your Discrete-Time Integrator blocks with the guideline jc_0627. (#9444)
Unify the positioning of comments in Stateflow transition labels with guideline jc_0771. (#9364)
New dSPACE Guideline Document for TargetLink 5.2 available
New Functional Safety Solution Guideline and Check Available
Improvements
MXAM’s signal tracing routine now supports BusElementPorts. (#9668)
MXAM’s signal tracing routine now supports TL_SWCSender/ReceiverPorts from the TargetLink AUTOSAR library. (#9667)
The computational overhead introduced by ignoring blocks defined by the global parameter Global.IgnoredLibraries during each check has been significantly reduced now. (#9489)
The division by zero checks mcheck_jc_0794 and mcheck_jc_0711 now recognize a further division by zero protection pattern, namely where a MinMax block is used to avoid division by zero. (#9736)
mcheck_jm_0002_b, mcheck_misra_slsf_025_a_5: The checks now include support for Stateflow charts. (#9637)
Use mcheck_mes_cgtl_9002 to check the correct setting of the new code generation option ‘EnableSharingOfSequentialControlVariable’ introduced in TargetLink 5.2. (#9735)
There are now additional links to model elements in the finding messages of some checks. These links simplify the navigation to the affected elements in the model. The finding messages of the following checks now have an additional link: mcheck_sdt_il001_a, mcheck_sdt_sc001, mcheck_sdt_sc005, mcheck_sdt_sc006, mcheck_sdt_sc007_a, mcheck_sdt_sc007_b and mcheck_misra_slsf_027_ab. (#9561)
Changes
The default parameter setting for the parameter MISRA_SL_SF.misra_slsf_030.IgnoredBlocks has been modified. In the new default setting, this check ignores the following blocks: Constant, From, Goto, TL_Function, Model Info, DocBlock, Data Store Write and Data Store Read. (#9792)
Bug Fixes
Some guidelines of the dSPACE Guideline Documents for TargetLink 5.0 and TargetLink 5.1 referenced an older guideline version. This has been fixed. (#9793)
mcheck_tl_pr20050222_03: The check no longer omits the first instance of a repeatedly used variable from the findings. (#9723)
For certain modeling patterns related to nested bus signals, MXAM’s signal tracing routine could not properly trace through BusSelector blocks with bus output. This has been fixed. (#9666)
If both the width and the height of an individual block were faulty, the repair actions of checks mcheck_jm_0002_b and mcheck_misra_slsf_025_a_5 needed to be executed twice. Additionally, in some cases, the checks did not correctly calculate the required width of a block. These issues have been fixed. (#9632)
The attempt to evaluate model workspace parameters may have led to a compile problem when using model references. This has been fixed. (#9654)
mcheck_mes_slsf_3106, mcheck_slsf_9102 and mcheck_misra_slsf_026_b: When certain filters were active it was possible that the element described in the MXAM finding was not the actual faulty model element. This has been fixed. (#9731)
In some cases, the check mcheck_ar_0001 gave a failed finding for files with extensions .slx.autosave or .mdl.autosave. These files were created automatically for a model opened by MXAM to run the check. This has been fixed. (#9526)
The check mcheck_jc_0232 aborted when analyzing library artifacts. This has been fixed. (#9761)
In some cases the check matlab_mxray_1306 did not find all usages of a signal in the model. This caused the check to incorrectly mark ports as unused. This has been fixed. (#9623)
The checks mcheck_jc_0794 and mcheck_jc_0711 were not fully compatible with the Matlab version R2021b. This has been fixed. (#9848)
V7.3.3 April 2022
Tool Framework
Improvements
V7.3.2 March 2022
Tool Framework
Improvements
V7.3.1 March 2022
Tool Framework
Improvements
Bug Fixes
V7.3.0 January 2022
Tool Framework
Improvements
Added execution environment details and general information to exported EXCEL reports.
Additional finding attributes, block type, and mask type for MATLAB are now included in the exported reports.
Improvements made to canceling an analysis.
Added an entry to the tray icon menu to cancel a running analysis.
Added a cancel button to the progress dialog of MATLAB.
The analysis can be canceled during the execution of a check.
Validation markers for library items are updated when library preferences are changed.
Added a script (mxamapi/mxam_testLicenseConfig.m) to test the license configuration within MATLAB.
Added support for navigable links in finding messages.
Bug Fixes
Fixed a bug that caused the saving of preferences not to function properly after a tool adapter was restarted. (#9359)
Fixed a bug that caused the saving of preferences not to function properly when MXAM needs to be restarted. (#9330)
Fixed the handling of library elements in MXRAY model metrics where in some cases elements where counted twice for global ref1 metrics. (#9412)
Fixed the handling of an empty library search path in the headless execution to not fall-back to the installation folder in order to be consistent with the GUI mode. (#8894)
Fixed the structure analysis for special subsystem names containing slashes, spaces at the beginning of a name, or subsystem names that match the name of their model when selected as an artifact. (#9361, #9494, #9135)
Fixed numbering in the table of contents for exported PDF reports. (#9590)
Guidelines, Checks, and Documents
MXRAY model metric check for clone groups now available within MXAM
The check matlab_mxray_1307 (referenced in guideline mes_arch_1307, document Functional Safety Modeling Guidelines) creates a finding for each structural element that is part of a clone group.
New MAB Guidelines (Version 5.0) available
Enforce line breaks between state action declarations and state action code with guideline jc_0501 (mcheck_jc_0501). (#9372)
Disable the drop shadow of all blocks with guideline jc_0604 (mcheck_jc_0604). (#9362)
Prevent division of fixed point data with inconsistent signedness with guideline jc_0611 (mcheck_jc_0611). (#9321)
Verify the interpolation settings of lookup tables with guideline jc_0626 (mcheck_jc_0626). (#9408)
Ensure that charts are not executed at initialization with guideline jc_0712 (mcheck_jc_0712). (#9485)
Prohibit direct transitions between nested Stateflow states if they cross state borders with guideline jc_0723 (mcheck_jc_0723). (#9366)
Prohibit exit actions in Stateflow charts with guideline jc_0740 (mcheck_jc_0740). (#9370)
Disallow MATLAB action language in Stateflow charts with guideline jc_0790 (mcheck_jc_0790). (#9369)
Prevent recursive loops between graphical functions with guideline jc_0804 (mcheck_jc_0804). (#9373)
Ensure that the model configuration is set to detect incorrect calculation results as errors with guideline jc_0806 (mcheck_jc_0806). (#9484)
New dSPACE Guideline Documents for TargetLink versions 5.0 and 5.1 available
Disallow the saturate option for block outputs with guideline TL_ADV_OPTI_SATURATION (mcheck_mes_cgtl_4207). (#9360)
Ensure that all outports of conditionally executed subsystems are explicitly initialized with guideline TL_RULE_GENERAL_OUTPORT_STATE_INIT (mcheck_mes_slsf_2000). (#9368)
Ensure that all blocks with states are explicitly initialized with guideline TL_RULE_GENERAL_OUTPORT_STATE_INIT (mcheck_mes_slsf_2001). (#9368)
Improvements
Significantly reduced the computational overhead introduced by checking for ignored blocks defined by the global parameter Global.IgnoredMasktypes during each check. (#9442)
The following guidelines and their assigned checks have been updated to support the “Record” block. (New block, introduced in MATLAB R2021a) (#9531)
Changes
Bug Fixes
Custom datatypes were not correctly identified for logical and relational TargetLink blocks. This has been fixed. (#9550)
In some cases, if MXAM did find a reason not to execute the check (eg. model cannot be set to required compile mode), some checks may have issued aborted instead of descriptive findings. This has been fixed. (#9428)
Fixed a syntax error in the default value of the parameter dSPACE.TargetLink.ds_0093.DiagnosticSettings in the guideline TL_RULE_GENERAL_DIAGNOSTICS (v2) which led to an aborted finding. (#9611)
Several checks could sometimes try to access the Simulink block library before it was loaded. This has been fixed. The affected checks are listed below. (#9613)
mcheck_jc_0201, mcheck_jc_0211, mcheck_jc_0221, mcheck_jc_0222, mcheck_jc_0231, mcheck_jc_0232, mcheck_jc_0795, mcheck_na_0030, mcheck_mes_slsf_1101
The checks mcheck_jm_0002_b and mcheck_misra_slsf_025_a_5 did not properly identify the names of ports associated with Bus Element In and Bus Element Out blocks. This has been fixed. (#9617)
Triggered TargetLink Main Subsystems were not identified as conditionally executed. This has been fixed. (#9615)
V7.2.0 October 2021
Tool Framework
Automatic port selection
Improvements
For any errors that arise during tool usage, a more detailed problem description is provided. Additionally, hints to troubleshoot the respective issue are displayed.
Better display of license errors and improved license configuration dialog.
Extended support for copying data from MXAM into the Windows clipboard with “CTRL+C”.
Improved performance of report import.
Improved performance in report perspective by postponing UI updates caused by selection changes.
Improved missing license handling for architectural metrics computation to not abort the remainder of the analysis. (#8763)
Batch analysis can be executed using artifacts configured in the project. (#9250)
Improved progress and error handling in document export wizard. (#8666)
Improved license checks to ensure that a license is available during analysis.
Improved library item selections by applying a multi-stage sorting to tables.
Extended progress displayed in MATLAB console or progress dialog by showing accumulated summary of check results.
Bug Fixes
Fixed browser compatibility for details view. (#9155)
Fixed error handling when reading MXAM preferences. (#9256)
Fixed initial selection in the document export wizard. (#8668)
Fixed enablement of UI controls for project library settings. (#9138)
Prevent MXAM crash during drag and drop of images displayed in details views. (#9183)
Fixed handling of ASCET sequence calls. (#9137)
Fixed MATLAB API documentation for mxamapi_execute.m. (#9175)
Fixed layout of artifacts configuration table when displaying many artifacts. (#8637)
Fixed scrolling issue. (#9317)
Fixed an issue within progress bar with Simulink names containing special characters. (#8757)
Guidelines, Checks, and Documents
New MAB Guidelines (Version 5.0) available
Prevent unintended rounding of divided signed integers with guideline jc_0642 (mcheck_jc_0642). (#9241)
Identify duplicate data name definitions in base workspace, model workspace, and DD with guideline jc_0791 (mcheck_jc_0791). (#9246)
Ensure a proper operation order of multiplication and division blocks with guideline jc_0610 (mcheck_jc_0610). (#9206)
Prevent the usage of forbidden Blocks with the newly referenced check mcheck_mes_slsf_1700. (#9205)
New dSPACE Guideline Documents for TargetLink versions 5.0 and 5.1 available
All guidelines of the new dSPACE Guideline Document for TargetLink Versions 5.0 and 5.1 are now available in MXAM. The following guidelines are now automatically checkable:
General Guidelines for Simulink, Stateflow, and TargetLink
Global Simulink Options: TL_RULE_GENERAL_DIAGNOSTICS
Global TargetLink Options: TL_RULE_SWDESIGN_BITFIELDS_MISRA, TL_RULE_SWDESIGN_IDENTIFIER_LENGTH
General Conventions: TL_RULE_GENERAL_NAMING, TL_RULE_GENERAL_BLOCK_PRIOS, TL_RULE_GENERAL_OVERFLOW_SATURATION, TL_RULE_GENERAL_ROUNDING
Fixed-Point Code Generation: TL_ADV_OPTI_POWER_OF_2, TL_ADV_OPTI_OFFSETS, TL_ADV_OPTI_CONSTRAINTS, TL_RULE_OPTI_64_BIT
Block-Specific Guidelines
Discrete Library: TL_RULE_DISC_LIB_INTEGRATOR_SETTINGS
Look-Up Table Library: TL_RULE_LUT_FLOAT_EQUIDISTANT
Ports and Subsystem Library: TL_RULE_PORTSYSTEM_LIB_SWITCH_CASE, TL_RULE_PORTSYSTEM_LIB_DUPLICATE_INPORTS
Signal Routing Library: TL_RULE_SIGNALROUT_LIB_DSMEMORY, TL_RULE_SIGNALROUT_LIB_FROMGOTO, TL_RULE_SIGNALROUT_LIB_MERGE, TL_RULE_SIGNALROUT_LIB_MULTIPORT_SWITCH
User-Defined Functions Library: TL_RULE_USERFUNC_LIB_FCN_BLOCK
Stateflow Guidelines: TL_RULE_STATEFLOW_STRONG_DATA_TYPING, TL_RULE_STATEFLOW_TRANSITION_ACTIONS, TL_RULE_STATEFLOW_ORDER_PARALLEL_STATES, TL_RULE_STATEFLOW_IMPLICIT_EVENTS, TL_RULE_STATEFLOW_MATLAB, TL_RULE_STATEFLOW_TRANSITIONS_IN_CONTROL_FLOW, TL_ADV_STATEFLOW_STATES_VS_CONTROL_FLOW
Improvements
mcheck_jm_0010_a: The check parameter ‘MAAB.jm_0010_a.CaseSensitivePrefixOrSuffix’ has been introduced to allow customization of the checks concerning case-sensitive checking of the prefix/suffix of Inports/Outports. (#9015)
mcheck_misra_tl_7_7: The check parameter ‘MISRA.misra_tl_7_7.IgnoredFiles’ has been introduced to define an ignore list of Custom Code files. (#9160)
mcheck_misra_slsf_031_a, mcheck_db_0141: The checks now ignore feedback subsystems having orientation ‘left’ and consist of the following blocks: Unit Delays, Inports, Outports, Bus creators, Bus selectors, Mux, Demux, and Subsystems. (#9025)
The MAB 3.0 Guideline hd_0001 (version 1) now references the check mcheck_mes_slsf_1700 for enhanced configurability and improved performance results. (#9205)
mcheck_mes_slsf_1700: The check performance has been improved. (#9205)
Updated wording of ISO references in guidelines according to ISO 26262:2018. (#9323)
Changes
mcheck_mes_slsf_9001: Changed suggested value for the Configuration Parameter ‘Periodic sample time constraint’ to ‘Specified, Ensure sample time independent’. This guarantees a consistent setting for Model References. (#9116)
mcheck_misra_slsf_010_b: Changed finding message for improved readability. The message now forms a complete sentence.
mcheck_hd_0001: This check has been deleted. (#9205)
Bug Fixes
mcheck_ds_0027: The check may have issued non-justified warnings if the analysis of the source of a table input port failed. This has been fixed. (#9258)
mcheck_misra_slsf_015_b: The check always gave a finding for a masked subsystem if a matrix signal was led through an outport of the subsystem. This was fixed. (#9244)
In certain cases, block parameter evaluations containing character arrays in function calls may have failed. This was fixed. (#9082)
A limitation of TargetLink does not allow to evaluate the output type of TL_Signum blocks with class ‘default’. This is circumvented by accessing hidden dialog data. (#9041)
Signal tracing through BusAssignment blocks involving nested bus element assignments was erroneous. This has been fixed. (#9173)
V7.1.0 July 2021
Tool Framework
Support for automatic port selection when MXAM is used with the MES Plugin for Jenkins
Improvements
Improved performance for adding/removing annotations if there are many existing annotations.
Improved error handling when creating new annotations in case of corrupted annotation definition files.
Improved handling for guidelines with multiple versions in the ‘new document wizard’:
The latest suggested guideline version is shown.
If no guideline version is suggested, the latest version that has a referenced check is shown.
If no guideline version is suggested and if no guideline version has a referenced check, the latest version is shown.
Validation markers are generated when library items cannot be loaded correctly.
Added more information about the progress displayed during an analysis.
Show validation details in pre-analysis validation in case of warnings/errors. Prevent execution of an analysis if there is any error detected.
Added information to the metrics view in case metrics could not be computed, and if global metrics omitted some child values.
Bug Fixes
Guidelines, Checks, and Documents
New MAB Guidelines (Version 5.0) available
mcheck_jm_0011: Pointer variables shall not be used in Stateflow. (#8390)
mcheck_jm_0012: Event Broadcasts. (#8941)
mcheck_db_0137: States in State Machines. (#8388)
mcheck_jc_0621: The icon shape for Logical Operators shall be set to “rectangular”. (#9093)
mcheck_jc_0802: Prohibited use of implicit type casting in Stateflow. (#9053)
Improvements
For TargetLink AUTOSAR models, the treatment of interface blocks (TL Ports, TL Bus Ports, TL DataStores) configured for AUTOSAR has been refined. (#9029)
mcheck_sdt_sc001, mcheck_sdt_sc007_a and mcheck_sdt_sc007_b: Runnable ports in TargetLink AUTOSAR models are not analyzed. (#9029)
mcheck_ds_0079_c: The check now fully supports Simulink’s hide automatic names feature. (#8929)
mcheck_misra_slsf_027_a: The check now fully supports Simulink’s hide automatic names feature. (#8697)
mcheck_jc_0201, mcheck_jc_0231: The shared parameter MAB.UsableCharacters.IgnoreHiddenNames has been introduced to ignore hidden subsystem and block names. (#9059)
mcheck_misra_slsf_026_a, mcheck_misra_slsf_026_b: The check implementation was rearranged for improved performance. (#8697)
mcheck_sdt_sc004_c: The check now supports the range checking of Gain blocks. (#8997)
mcheck_ds_0098: The check now has improved failed finding messages. (#9054)
Changes
Bug Fixes
mcheck_misra_slsf_027_ab: For nonempty check parameter ‘LibrariesToCheck’ the check implementation caused an abort if executed on a compiled model. This was fixed. (#9013)
mcheck_misra_slsf_030_ab, mcheck_misra_slsf_030_c: The checks may have aborted for certain customized settings of the parameter ‘IgnoredBlocks’. This was fixed. (#9035)
mcheck_misra_tl_7_9: The check did not support the option ‘UtilizeBitwiseShiftOperations’ that was introduced with TargetLink 5.0. This has been fixed. (#9044)
mes_sl_generic_0001: The configuration of the check with the parameter MES.mes_sl_generic_0001.FindSystemConfiguration did not work properly for multiple definitions of find_system-calls. In particular, this occurred when using different amounts of empty elements in separate rows. This was fixed. (#9098)
mcheck_mes_slsf_9001: The result of the repair action for numeric Configuration Parameters was not shown correctly. This was fixed. (#9109)
V7.0.0 April 2021
Tool Framework
Improvements
Updated ASCET Adapter to support version 6.4.5 of ASCET.
Restricted exported java dependency for MXAM variants to prevent conflicts with dependencies used by custom user code.
Improved performance for large number of annotations when loading reports, saving reports, or post-processing analysis (i.e. matching annotations to findings).
Improved support for high DPI displays in Details View for guideline/check descriptions. Added support for zooming the displayed information. (#8765)
Changed default for filter in Libraries Browser perspective: Now all document/guideline/check versions are shown by default instead of head version only.
Bug Fixes
Fixed MXAM version info in Contents.m to comply with MATLAB’s expected format for “ver” command. (#8793)
Prevented duplication of checks when references in document are not synchronized with the library. (#8858)
Fixed abort of MXRAY checks when running analysis for artifacts which are subsystems of referenced libraries. (#8882)
Fixed abort of MXRAY checks in some cases when clone group detection is activated. (#8864)
Added changeable filter to allow selection of guideline versions other than head version in document editor. (#8892)
Fixed mxam_start_analysis.m to not set values to internal fields which should not be changed by users. (#8979)
Guidelines, Checks, and Documents
New MAB Guidelines (Version 5.0) available
jc_0711: Variables, constants, or parameters in a Stateflow block shall not be used to perform division operations. However, when division occurs in a Stateflow block, the process shall prevent division by zero.
jc_0794: When using division with a Product block, implementation of the algorithm shall avoid division by zero.
Compatibility with TargetLink 5.1
Minor adjustments were made to ensure compatibility of framework and checks with TargetLink 5.1.
mcheck_mes_cgtl_9002: Updated TL_ParameterList.xlsx according to TargetLink 5.1.
Update of TargetLink Known Problems checks (available in the Functional Safety Solution).
Improved Performance on large TargetLink models
Further Improvements
mcheck_misra_slsf_006_b: In addition to the block type - mask type combinations, the user can now insert further block-specific parameters that will be ignored in the analysis. In this context, the default value of the check parameter MISRA_SLSF.mes_misra_slsf_006_b.ignoredBlocks has been modified.(#8695, #8788)
db_0112: A vector signal shall use either a uniform ‘zero-based’ or a uniform ‘one-based’ index mode. The check has a check parameter to choose between the two. (#8369)
mcheck_mes_sltl_001: The check parameter SDT.mes_sltl_001.AllowedMagicConstants has been introduced to allow certain magic constants in the check. (#8851)
Specific checks aborted while analyzing the data type of the TargetLink blocks TL_SignalConversion. This has been fixed. (#8818)
The identification of active AUTOSAR configurations has been updated. MXAM now identifies active AUTOSAR configurations for all TargetLink AUTOSAR versions correctly. (#8791)
Added new check parameters for mcheck_mes_slsf_9003 to cover more Stateflow options:
Action Language
Enable zero-crossing detection
Use Strong Data Typing with Simulink I/O
Treat these inherited Simulink signal types as fi objects
Create output for monitoring
MATLAB Chart fimath
A validation for the MXAM check parameter setting is added to mcheck_mes_slsf_9003. MXAM now gives a finding, if the check parameter setting is inconsistent. (#8328)
The evaluation of MATLAB built-in variables has been improved. (#8717)
Improvement of signal routing with multidimensional sources and destinations. (#8796)
MXAM’s handling of scaling values (LSB, offset) of non-scalar signals whose dimensions are unspecified at design time, has been improved. (#8865)
Changes
Bug Fixes
mcheck_misra_tl_6_1: Stateflow data items with floating point data type and unselected option ‘CreateInputVariable’ were incorrectly reported as failed. Floating point data types are now accepted. (#8376)
mcheck_ds_0100: The check could not detect the input data type in case the source is an Outport of a TL Function. This has been fixed. (#8724)
mcheck_mes_cgtl_4101: The check gave a false failed finding if the tolerance of the TargetLink Gain block was not set to 0 without its gain class being set to default. This has been fixed. (#7790)
mcheck_misra_slsf_026_b: The parameter ‘SystemSampleTime’ is excluded from the check analysis for all blocks. (#8405)
mcheck_na_0003: The check did not return failed findings after a passed {If expression} or {Elseif expression} in the same block. This has been fixed. (#8767)
mcheck_misra_tl_5_9: The check did not detect TargetLink Gain blocks with gain parameters containing MATLAB built-in variables like ‘ones’ correctly. This has been fixed. (#8717)
mcheck_mes_slsf_9103: The check wrongly detected identical block names with the same library reference in case of nested library blocks. This has been fixed. (#8497)
mcheck_sdt_il001_a: The check identified different bus signals as a unique one giving false failed findings. This has been fixed. In addition, the finding message has been improved. (#6392, #7332, #7879, #8751)
mcheck_misra_slsf_025_a_6: A utility function caused an abort of the check analysis due to incorrect figure handling. This has been fixed. (#8806)
mcheck_misra_slsf_050_c: The check did not contain the color settings of the latest MATLAB versions. This has been corrected. (#8798)
mcheck_misra_slsf_027_j: The check did not ignore the TargetLink AUTOSAR blocks TL_SWCSenderPort and TL_SWCReceiverPort when the option ‘Show propagated signals’ was enabled. This has been fixed. (#8753)
mcheck_na_0002: The check returned a failed finding for source signals from TargetLink blocks with class ‘default’ and an empty base type. The check now gives a review finding. For ‘Constant’ source blocks, the constant value is also evaluated to get the data type. (#8804)
mcheck_sdt_sc007a/b: For certain modeling patterns, false positive findings may have occurred for blocks with dimensions greater than one. This has been fixed. (#8794)
mcheck_sdt_sc007_b: The check returned a false positive finding for scalar signals with sources in Demux blocks. This has been fixed. (#8796)
matlab_mxray_1306: The check returned a false positive finding for the top-level system of Variant Subsystems. This has been fixed. (#8674)
mcheck_sdt_sa004_b, mcheck_misra_slsf_013_c: In certain cases the checks returned false positive findings for MultiportSwitch blocks with the option ‘Specify Indices’ for the parameter ‘DataPortOrder’. This has been fixed. (#8845)
mcheck_sdt_sc002_e: In case of failed findings, now the check message is more detailed and contains information if the range is determined directly from the Stateflow data item or at the source block of the corresponding chart input. (#8815)
mcheck_mes_cgtl_4203: Outputs of Constant blocks with a non-calibratable class are ignored by the check. (#8350)
V6.5.0 January 2021
Tool Framework
Extended Webservice API
Performance improvements
Improved UI responsiveness when listing artifacts in the artifacts selection wizard.
Improved the performance for fetching ASCET tool artifacts and file artifacts. (#8329)
Improved the performance of MATLAB check execution in UI and batch execution.
Improved UI responsiveness in report perspective when changing the focus in the report navigation views.
Other Improvements
For checks that require a compilable model the finding type for models that are not compilable has been changed from ‘Aborted’ to ‘Review’.
Improved logging in headless execution. (#8573)
Added more detailed information to progress shown in MATLAB during analysis.
Simplified preferences for MATLAB executable selection. (#8547)
Stabilized order of additional report information added with MATLAB hook. (#8700)
Updated support for communication with JIRA ticket system. (Optional plugin on request)
Bug Fixes
Prevent MXAM from hanging non-deterministically during UI update after an analysis is finished. (#8731)
Fixed batch execution of multiple configured analyses. (#8728)
Fixed ASCET model parsing for differences in Java Runtime versions. (#8640)
Fixed ASCET picture export for embedded pictures in findings. (#8464)
Fixed validation for configuration of multiple license files/directories in the License Manager. (#8631)
Guidelines, Checks, and Documents
Compatibility with MATLAB 2020a and 2020b
Made minor adjustments to ensure compatibility of framework and checks with MATLAB 2020a and 2020b.
Updated EC_ParameterList.xlsx of mes_cgec_9004 and the list of prohibited blocks in mes_cgec_2001 to ensure Embedded Coder compatibility.
New MAB Guidelines (Version 5.0) available
jc_0702: The parameters or constants used in Stateflow shall not contain numeric literals except 0 for initial value and 1 for increment or decrement.
jc_0721: The substates of parallel states shall not be parallel states.
jc_0775: In a Stateflow flowchart only one terminating junction with a single unconditional transition as input shall be used.
na_0003: The {If} and {Elseif} expressions of the If block shall be used only to define input signals as condition.
Improvements
mcheck_misra_slsf_006_b: A new check parameter to ignore blocks by their block type and/or their mask type was added to improve the usability of the check and the transparency of the check behavior. The default parameter setting is chosen to maintain the check behavior from the preceding MXAM version. (#8404)
Specific checks aborted while analyzing the data types of the TargetLink blocks TL_BitSet or TL_BitClear. This has been fixed. (#8606, #8656)
Certain modeling patterns involving TargetLink functions in library models may have caused the determination of TargetLink block properties to fail. This has been fixed (#8541)
mcheck_misra_slsf_053_j: The finding message of the check has been changed slightly for readability purposes. (#8588)
Bug Fixes
mcheck_jc_0221, mcheck_jc_0222, mcheck_na_0030: The checks may have aborted for certain modeling patterns where bus port sources are contained in referenced models. This has been fixed. (#8512)
mcheck_misra_slsf_036_c: In specific cases the check may have given false negative findings for Stateflow port names that do not match the label of the connected signal. This has been fixed. (#8584)
mcheck_ds_0098: The check may have aborted in cases involving a range analysis of vector signals. Now, the check is robust in this respect. (#8639)
mcheck_mes_slsf_9103: The check wrongly detected identical block names with same the library reference. This has been fixed. (#8497)
mcheck_mes_cgtl_4204: The check aborted due to an internal processing error, where variables have not been correctly initialized. This has been fixed. (#8662)
mcheck_misra_tl_5_9: The check aborted when analyzing Gain blocks where the gain value was a matrix. This has been fixed. (#8662)
mcheck_na_0008: The TargetLink block TL_ExtractBits has been excluded from the analysis, because it is no Subsystem in the original sense. Before, the block has caused the check to abort. (#8662)
mcheck_sdt_sc001: The check gave false failed findings for TargetLink port blocks, if their connected source block did not have scaling properties. This has been fixed. (#8704)
mcheck_misra_slsf_048_g: The check gave false negative findings if there was an operation in a Stateflow chart with a number other than 1 or 0 and a variable inside round brackets. This has been fixed. (#8726)
V6.4.0 October 2020
Tool Framework
MXRAY Summary Diagrams
MXAM provides a graphical overview of the 6 main metric values in one diagram:
This overview is provided as a report view in the MXAM GUI and also in the report (HTML, PDF and Excel).
Improvements
Added metrics table in the Excel report.
Improved communication between MATLAB and Jenkins. (#6253)
Already loaded annotation definition files are prevented from being loaded again. (#8205)
Added preselection of current MXAM in the License Manager. (#8251)
Added ASCET support for arrays of enumeration type. (#8400)
Added conditional connecting to MATLAB on MXAM start. (#8243)
Added early check for a CI License in the case of a batch execution. (#8362)
Bug Fixes
Enforce closing of MATLAB after 5 minutes timeout, if it cannot be closed gracefully. (#8068)
Improved error handling for webservice queries. (#8233)
Extended validation logic of the License Manager for license file(s).
Fixed an NPE in the License Manager in case of missing files in a user directory. (#8251)
Fixed the API getReportResults when report contains findings with ‘Passed with Infos’. (#8370)
Fixed update of the blacklist and whitelist table in the project annotation settings. (#8433)
Added help entry for the clone group ID search. (#8021)
Improved error handling, if the initialization of the user directory failed. (#8325)
Guidelines, Checks, and Documents
New MAB Guidelines (Version 5.0) available
The document ‘MAB - Control Algorithm Modeling Guidelines Using MATLAB®, Simulink®, and Stateflow® version 5.0’ contains the guidelines of the official Mathworks Advisory Board guidelines document in version 5.0.
The following guidelines are now checkable:
jc_0011, jc_0131, jc_0141, jc_0201, jc_0211, jc_0222, jc_0231, jc_0232, jc_0241, jc_0242, jc_0243, jc_0244, jc_0245, jc_0246, jc_0247, jc_0481, jc_0795, jc_0796
na_0002, na_0009, na_0016, na_0017, na_0019, na_0021, na_0022, na_0025, na_0034, na_0036, na_0039
db_0081, db_0110, db_0123, db_0144
The above guidelines are now included in the following documents:
MXAM Starter Set
MXAM Starter Set - Extended Version (available in Functional Safety Solution)
MES Modeling Guidelines for Implementation with Embedded Coder
MES Functional Safety Modeling Guidelines for Implementation with Embedded Coder (available in Functional Safety Solution)
Improvements
Combined state actions in a state label in Stateflow could not be read properly causing a false failed finding in specific checks. This has been fixed. (#7890)
Improved robustness of evaluating TargetLink data dictionary variables for cases where ‘ddv()’ was used. (#8248)
mcheck_jm_0010_a: The check parameters MAAB.jm_0010_a.AllowedPrefixOrSuffixForInport and MAAB.jm_0010_a.AllowedPrefixOrSuffixForOutport have been introduced, so as to insert those prefixes and suffixes that are allowed to be used in the port names throughout the model. (#8313)
mcheck_sdt_sa003: The check parameter SDT.sa003.AllowedClassForConstant has been introduced. Now the control signal of the Switch block can originate from a TargetLink Constant block with the variable class defined in the check parameter. (#8486)
Bug Fixes
mcheck_misra_slsf_006_b: The TargetLink documentation block ‘Autodoc Customization’ is excluded from the check analysis. (#8299)
mcheck_misra_slsf_022_a: The check gave a failed finding for missing Model Info blocks on the top-level of Variant Subsystems. This has been fixed. (#8312)
mcheck_misra_slsf_026_b:
If a block had a named constant but its block name was different from the named constant, then the check gave no failed finding if there was another block in the same subsystem whose name was the same as this named constant. This has been fixed. (#8298)
The check can now handle wildcard entries in check parameters.
The parameter ‘Sample time’ is excluded from the check analysis for all blocks.
mcheck_sdt_sc006: The check aborted when analyzing Inport blocks that have no signal connected, as e.g. Inport blocks on the top-level of Variant Subsystems. This has been fixed. (#8314)
mcheck_na_0008: The attempt to automatically repair signal lines related to library blocks triggered a check abort. The check now returns an unrepaired finding. (#8318)
mcheck_ds_0067: The check aborted while evaluating the compiled size of specific Stateflow data items. Now, MXAM gives a warning finding instead. (#8248)
mcheck_misra_slsf_025_a_1: Due to the incorrect setting of the find_system parameter ‘LookUnderMasks’=’graphical’ the check did not analyze each model level. This has been fixed. (#8374)
mcheck_db_0140: The check gave an incorrect failed finding for the ‘Table’ property of TL_Lookup2D blocks. This has been fixed. (#8273)
mcheck_misra_slsf_006_c: Bitwise Operator blocks got a failed finding for the ‘BitMask’ property even if the property ‘UseBitMask’ was set to ‘off’. This has been fixed. (#8336)
mcheck_misra_slsf_027_e: The check gave a false positive finding for signals inside library blocks if the corresponding output signal of the library block was named. This has been fixed. (#8398)
V6.3.0 July 2020
Tool Framework
Improvements
Make model metrics configuration files available for user changes. (#8104)
Display error to user if creation of annotation definition fails. (#8112)
Display more details to user when connection to third party tools fails, e.g. because of start timeout. (#8130)
Reduced memory footprint when exporting images in reports for ASCET models. (#8194)
Reduce size of mxmr reports by omitting default structural details.
Reduced processing of model structure if user decides to only analyze subsystems.
Bug Fixes
Fixed unreliable initiation of MATLAB connection. (#8050)
Fixed compatibility between MXAM and the MES Quality Tools plugin for Jenkins. (#8204)
Fixed handling of unavailable library items when exporting reports. (#8007)
Updated the ASCET tool adapter to version 5.2.3:
Fixed display of library item details if system browser has script debugging enabled. (#8106)
Respect filter for (de)select all in the artifact configuration. (#7999)
Prevent non-deterministic crash when releasing of licenses fails. (#8037)
Provide setting to allow user to not bypass proxy settings for MXAM webservice calls. (8085)
Fixed usage of -userDir command line option for logging. (#8239)
In the case that the utility function mes_periprocess filtered out all elements of an array, it may have returned one of its dimensions equal to 0 causing an abort for specific checks. This has been fixed. (#8042)
Guidelines, Checks, and Documents
Improvements
mcheck_misra_slsf_016_a: The check parameter MISRA_SL_SF.misra_slsf_016_a.ignoredBlocks has been introduced, so as to ignore blocks from the analysis. (#8097)
mcheck_mes_cgtl_4202, mcheck_ds_0103, mes_sdt_sc001, mes_sdt_sc007_b and mes_sdt_sc007_a: Executing one of these checks with TargetLink 5.0 installed, caused Matlab printing a warning message in the command window. This message will be supressed.
Changes
Bug Fixes
mcheck_ds_0100: The check aborted if a block with multiple outports, such as an S-R Flip-Flop, was used as a source block for an analyzed block in a TargetLink environment. This issue has been fixed (#8067).
mcheck_mes_slsf_9103: The check aborted if no elements to analyze were found. The issue was fixed. (#8089)
mcheck_misra_slsf_027_e: For certain modeling patterns, the check gave incorrect failed findings for signals named outside reusable subsystems. The issue has been fixed (#7918).
mcheck_misra_tl_4_4, mcheck_misra_slsf_008_a: The checks gave a failed finding for Math Function blocks where the option ‘SaturateOnIntegerOverflow’ is selected but not modifiable due to the selected ‘Function’ property. These blocks are now being ignored. (#8075)
V6.2.0 April 2020
Tool Framework
Synchronous Matlab batch execution
It is now possible to execute the Matlab batch analysis
synchronously. Use the configuration option
‘b_synchronousExecution’ to enable this for your Matlab
batch analysis.
The API call will return the analysis results as a Matlab
struct to the calling script.
Clone group detection for Matlab artifacts
The clone groups metric recognizes groups of
almost identical subsystems within the model. These groups are potentially
created by copy/paste and unnecessarily increase the complexity of a model.
An additional column in the metrics view shows the membership of
subsystems in clone groups.
Improvements
Several layout improvements including a new splash screen, naming
of menu entries, and new icons.
Added a new column in the Excel report export format showing the
objectives of the guidelines.
Improved the performance of the Matlab artifact structure analysis
when MXRAY metrics are used.
Added new commandline parameters to configure license files and
servers.
Improved the artifact configuration table to include a search field
and make the columns sortable.
Included the image information of HTML reports within the HTML file
itself. Reports in the HTML format now only consist of one file and do not
create image files anymore.
Bug Fixes
Added support for Atomic Subcharts and Atomic Boxes in the artifact
structure. (#7503, #7504)
Fixed handling for creating annotations of not yet saved artifacts.
(#7731)
Fixed the behavior of views in the report perspective if a colored
cell in the metrics view is selected. (#7588)
Fixed a problem with the uninstaller. (#7823)
Decreased memory comsumption when loading annotations that were
saved using an older MXAM version. (#7794)
Fixed a problem that occurred when images were dragged and dropped
out of the detail view. (#8008)
Guidelines, Checks, and Documents
Compatibility with MATLAB 2019b
Compatibility with TargetLink 5.0
Minor adjustments to ensure compatibility of framework and checks with TargetLink 5.0.
mcheck_mes_cgtl_9002: Updated TL_ParameterList.xlsx according to TargetLink 5.0.
Update of TargetLink Known Problems checks (available in the Functional Safety Solution).
Improvements
The MXAM Developer Guide for developing MATLAB checks has been updated and improved. For further information, see Developing M-Checks.
mcheck_sdt_sc001, mcheck_sdt_sc007_a/b: The robustness of the data flow analysis has been significantly improved.
Changes
Bug Fixes
Charts in linked subsystems may have caused failed model compilation or non-identification of TargetLink models. This has been fixed. In addition, data flow analysis was improved.
mcheck_ds_0028: The check gave a failed finding for the Matrix Concatenate block, although it was contained in the check parameter “dSPACE.checkds0028.AllowedBlocks_4”. This issue has been fixed. (#7319)
mcheck_ds_0041: The check gave a failed finding for the Matrix Concatenate block, although it was not contained in the check parameter “dSPACE.checkds0041.ProhibitedBlocks”. This issue has been fixed. (#7319)
mcheck_sdt_sc004_c: The check aborted while evaluating the range of a multidimensional signal going through a Gain block. This issue has been fixed. (#7643)
mcheck_misra_slsf_009_d: The parameter ‘followlinks’ was used incorrectly so that library blocks were ignored independently of the MXAM setting of ‘followlinks’. Now, library blocks are evaluated correctly. (#7668)
mcheck_ds_0100: Specifying a vector, a cell array or a string list for the ‘Number of inputs’ parameter of a Mux block may have caused aborts. This has been fixed. (#7725)
mcheck_misra_tl_7_7: The check aborted when an empty .c file was specified in the Custom Code block. This has been fixed and the check now gives a passed finding. (#7818)
mcheck_misra_slsf_008_b: Using data type casts in block properties, such as ‘uint32(…)’, may have caused an internal processing error. This issue has been fixed. (#7325)
mcheck_misra_slsf_006_b: The check gave false negative findings because of an incorrect analysis of some TargetLink blocks. This has been fixed. (#7589)
V6.1.0 January 2020
Tool Framework
View for MXRAY Metrics
A new view showing MXRAY metrics for selected elements is
available in the report perspective.
Sorting, filtering, and color-coded metric values
if a corresponding check reports a finding for the model element
ease the identification of architectural problems.
Export of tables and trees to Excel files
Support to edit tags of library items
Improvements
Collecting additional MXRAY metrics, such as global
MXRAY complexity metrics and block counts.
Added report validation markers to exported reports.
Moved recent project history to the file menu. Introduced
preference setting for the number of recent projects to show.
Separated preferences for preconfiguration of MXAM
installations
into different files.
Bug Fixes
Fixed persistence of UI state which could prevent opening the
report perspective. (#7232)
Fixed excel report design to prevent unwanted page breaks. (#7321)
Fixed a communication issue between MATLAB and MXAM for Java versions
>8. (#7421)
Fixed an issue which prevented the connection between MATLAB and MXAM.
(#7456)
Fixed the serialization of the mxmr-reports so that all artifact structure
information is available when loading the reports in read-only mode. (#7223)
Fixed the customize check parameters wizard to filter global parameters
by default. (#7352)
Fixed initial selections in the report perspective after a first analysis.
(#7353)
Fixed the support for installing additional features into MXAM installation.
(#7498)
Fixed control and dataflow analysis in the ASCET adapter. (#7234)
Adapted splash screen for correct DPI scaling. (#7260)
Guidelines, Checks, and Documents
New guideline and check for Embedded Coder (only available in the
Functional Safety Solution)
mes_cgec_2201: The input signal of an Abs block should not be of
an unsigned integer data type, since this most likely indicates
functional errors. (Guideline referenced in documents MES Functional
Safety Modeling Guidelines for Implementation with Embedded Coder
and MES Guidelines - Collection of Best Practices)
New guideline and check for handling forbidden blocks (only available
in the Functional Safety Solution)
mes_slsf_1700: Depending on the scope of the model or the development
phase, certain Simulink, Embedded Coder or TargetLink blocks should
not be used. This check allows a user-defined parametrization for
these forbidden blocks. (Guideline referenced in document MES Guidelines
- Collection of Best Practices)
New guidelines and check for subcharted and parallel states in Stateflow
misra_slsf_039_b: Subcharted states hide information,
so that the comprehension of the state machine may be reduced.
Avoid this by using subcharted states only if the state machine would
otherwise be too difficult to view on screen or on printout.
misra_slsf_040_c: Reduces implicit delays in data processing by setting
the execution order of the parallel states appropriately.
misra_slsf_040_d: Avoid erroneous changes of critical execution orders
by documenting them appropriately.
All guidelines use the check mcheck_mes_sf_generic_0001 and they are
referenced in the document MISRA AC SLSF - Modelling Design and Style
Guidelines for the Application of Simulink and Stateflow.
Improvements
Checks could not read Excel sheets when executed in a Jenkins environment.
This issue has been fixed for Matlab Versions newer than 2013b. For older
versions a workaround exists. (#7488)
misra_slsf_016_b: The example picture of the guideline has been improved.
(#7406)
Changes
mcheck_misra_slsf_016_a: The check gave a failed finding for Signal
Conversion blocks. Now Signal Conversion blocks are also allowed to create
bus signals. (#7343)
mcheck_jm_0002_a: The check no longer analyzes custom masked blocks, i.e.
blocks whose property ‘MaskDisplay’ is not empty and ‘MaskIconOpaque’ is
set to either ‘Opaque’ or ‘On’ (depending on the Matlab Version). (#7294,
#7330)
Bug Fixes
Charts in linked subsystems may have caused failed model compilation or
non-identification of TargetLink models. This has been fixed. (#6646,
#7315, #7383, #7536)
mcheck_mes_slsf_3109: Inner transitions do not cause a review finding
anymore. (#6849)
mcheck_ds_0064: The check now also returns a failed finding if Matlab
functionality is used through ‘matlab()’ in a condition/transition/state
action in Stateflow. Before, only function calls through ‘ml’ were
considered. (#7305, #7542)
mcheck_ds_0038: In case the check gave an overall info finding, this
finding could not be mapped to a ‘passed’ with the use of the global
parameter Global.CheckItemResultMappings. This has been fixed. (#7324)
mcheck_mes_sf_004: The check returned false failed findings for multiple
broadcasts of a function-call output event. This has been fixed. (#7300)
V6.0.0 September 2019
Tool Framework
Architectural Analysis of MATLAB Models (BETA) (only available in
the Functional Safety Solution)
MXRAY model metrics are available within MXAM now. It is possible to
evaluate local complexity (by Halstead adapted for
Simulink®/Stateflow:sup:®) and to measure the depth of a
model with the level metric. Furthermore the user can analyze the
interface of each subsystem with the metrics for inports/outports,
unused inputs, and consider the cyclomatic complexity of
Simulink® subsystems.
Standard functionalities for the analysis in MXAM such as
parameters, ignore lists, annotations, and reporting are available.
Support for non-Oracle and newer Java Runtime Environments
The minimum required Java version is now 8.
Adding support for open-source Java implementations up to version
12.
There is no Java version included with the installation anymore. The
tested version to work with MXAM is ‘AdoptOpenJDK 8’.
Improvements
Adding a show and hide feature for single columns of lists
(configured layout is saved and restored).
Adding a new project settings page that allows users to set the
global parameter values on the project level.
Annotations saved next to the artifact are stored in one file per
artifact and not per configured subsystem name anymore. (#7069)
Bug Fixes
Fixed a layout problem when saving the project on small screens.
(#7060)
Fixed a description text with a wrong plural form. (#7001)
Fixed an issue where ignore-list entries could be created based on
report findings of virtual projects. (#7033)
Fixed a rendering issue of the user guide if seen in a view. (#7002)
Fixed an issue when showing a license exception message. (#6987)
Fixed an unwanted restriction when moving items in the guideline
document editor. (#7165)
Fixed an issue where the dirty state of a project was wrong after
trying to save it to a location without write access. (#7175)
Guidelines, Checks, and Documents
Compatibility with MATLAB 2019a
Minor adjustments to ensure compatibility of framework and checks
with MATLAB 2019a.
mcheck_mes_slsf_9001: The check and the Excel file
‘SL_ParameterList’ with expected parameter values were updated to
match MATLAB R2019a.
MXRAY model metric checks are available within MXAM now (only
available in the Functional Safety Solution)
The checks create findings if the configured upper bounds are
exceeded.
matlab_mxray_1301: Restricted Local Complexity (referenced in
guideline mes_arch_1301, document Functional Safety Modeling
Guidelines).
matlab_mxray_1302: Restricted Number of Hierarchy Levels (referenced
in guideline mes_arch_1302, document Functional Safety Modeling
Guidelines).
matlab_mxray_1303: Restricted Number of Inports (referenced in
guideline mes_arch_1303, document Functional Safety Modeling
Guidelines).
matlab_mxray_1304: Restricted Number of Outports (referenced in
guideline mes_arch_1304, document Functional Safety Modeling
Guidelines).
matlab_mxray_1305: Restricted Cyclomatic Complexity (referenced in
guideline mes_arch_1305, document Functional Safety Modeling
Guidelines).
matlab_mxray_1306: Effective Interfaces (referenced in guideline
mes_arch_1306, document Functional Safety Modeling Guidelines).
Improvements
Several checks are now robust with respect to a missing TargetLink
installation. (#7136)
The data flow analysis has been significantly improved in order to
boost performance and robustness. (#7000, #7034)
mcheck_misra_slsf_026_c: The check provides a new parameter to
configure whether Trigger and Enable ports should be analyzed or not.
(#6674)
Changes
The MXRAY model metric guidelines were referenced in the document
MXAM Starter Set - Extended Version (only available in the Functional
Safety Solution).
mcheck_misra_slsf_030_c: The check now provides an automatic repair
functionality that positions the Trigger, Enable, and Action port
blocks within the correct region and range.
mcheck_ds_0100: The check now gives a failed finding for each block
that has an integer output signal if its integer rounding method is
not set to ‘Zero’. (#7164)
Bug Fixes
mcheck_mes_sltl_002_b: The data type of input arguments for
graphical functions could not be determined. Stateflow data items of
this type are properly analyzed now. (#6989)
The data type of the TargetLink Delay block could not be analyzed
properly in cases where it was inherited from preceding blocks. This
has been fixed. (#6955)
mcheck_ds_0100: The check gave a failed finding for Data Type
Conversion or Rescaler blocks that converted a signal from a floating
to a fixed-point data type. This has been fixed. (#7164)
V5.3.0 04-07-2019
Guidelines, Checks, and Documents
Custom Processing of Modularization Library Blocks (BETA)
Library blocks used for modularization purposes can now be
identified in the MXAM analysis.
MXAM differentiates modularization library blocks from the standard
reusable library blocks.
The hook function ‘mes_isModularizationLibBlock’ allows a user
defined identification.
For further help, see Using the Application Programming Interface
(API) for MATLAB.
Extended Support for Simulink Data Dictionary
The use of Simulink Data Dictionary (SLDD) elements is now supported
by MXAM.
Improved evaluation of variables from the different workspaces and
SLDD.
For custom check implementations, findings for SLDD objects can be
linked in the report and highlighted in the model. (#6885)
Compatibility with TargetLink 4.4
Minor adjustments to ensure compatibility of framework and checks
with TargetLink 4.4.
mcheck_mes_cgtl_9002: The check takes into account the new code
generator options ‘InitializeVariablesViaRestartFunction’ and
‘RealTimePlatformSupport’. The value of
‘InitializeVariablesViaRestartFunction’ is analyzed by default.
Update of TargetLink Known Problems checks (available in the
Functional Safety Solution).
tl_pr20080215_03: The guideline and check have been removed as they
are no longer relevant to the TargetLink versions supported by MXAM.
New guideline and check for unconnected transitions in Stateflow
Improvements
Improved the analysis performance of TargetLink subsystems. (#6660)
mcheck_misra_slsf_012_a: The new check parameter
‘MISRA_SL_SF.misra_slsf_012_a.Threshold’ has been introduced for the
value of the threshold. In addition, a repair action was added for the
parameters ‘Threshold’ and ‘Criteria for passing first input’ of the
Switch block.
mcheck_misra_slsf_053_c: Previously, the check may not have provided
the complete label of a transition. Now, the full label shows in the
finding message. (#6779)
mcheck_misra_slsf_025_a_1, mcheck_misra_slsf_025_b: The check
parameters ‘MISRA_SL_SF.misra_slsf_025_a_1.Libs2Check’ and
‘MISRA_SL_SF.misra_slsf_025_b.Libs2Check’ now contain the TargetLink
library ‘tllib’ by default so that TargetLink blocks can be found and
analyzed. Furthermore, a warning finding is given if a library is
inserted in the check parameter but cannot be loaded. (#6941)
Changes
mcheck_misra_slsf_006_c: The check no longer analyzes PreLookup
blocks. (#6743)
mcheck_misra_slsf_004_a: The check no longer analyzes the option
‘DiscreteInheritContinuousMsg’ in Matlab Versions 2015b or newer,
since it was removed from the model configuration parameters dialog.
(#6940)
Bug Fixes
mcheck_misra_slsf_025_a_1, mcheck_misra_slsf_025_b: Previously, the
checks may have aborted when attempting to close opened library
models. The checks properly close those models now. (#6874)
mcheck_misra_slsf_025_a_5: The check supports the new values
‘opaque’, ‘transparent’, and ‘opaque-with-ports’ of the mask parameter
‘MaskIconOpaque’ now. (#6907)
mcheck_misra_slsf_006_b: The check no longer analyzes Direct Look-up
Tables and Interpolation Using Prelookup blocks. (#6890)
mcheck_mes_sf_001: The check may have given false failed findings
for multi segmented transitions with non-junction destinations.
(#6784)
V5.2.0 01-04-2019
Tool Framework
Wizard for the creation of guideline documents
A wizard provides help for the selection of guidelines in new
guideline documents.
Guidelines are grouped by aspects which will result in corresponding
chapters of the document.
Guidelines are filtered based on development project specific
configurations:
used MATLAB toolboxes
used code generator
ISO 26262 safety requirements
Guidelines recommended by MES are selected by default.
Improvements
Increased usability of findings view for large reports.
Increased user awareness for active view filters with highlights.
Hide empty groups of markers in validation view. (#6438)
Added details for applied annotations to the report result which can
be queried by MATLAB API.
Use the same filtering and advanced search capabilities in the
findings view as in other views.
Added validation for guidelines that are included in multiple
guideline documents selected for the active project.
Changed default report export format to HTML.
Separated tool and view entries in the main menu.
Added a “Show head version only” filter to ease the guideline
documents selection in the project settings.
Moved navigation elements in HTML and PDF reports to ease navigation
within the report.
Remember recent path in the artifact definition selection dialog.
Improved user interface layout for large library lists in new item
wizards. (#6202)
Bug Fixes
Remove stale report validation markers when a report gets removed.
(#6409)
Fixed update of markers shown in validation view when different
reports get selected. (#6409)
Check user access rights for drag&drop in ignore list editor before
moving rules. (#5502)
Enable Sorting in dialog for adding shared parameters. (#6371)
Prevent closing dialogs when pressing enter key while editing filter
texts. (#6574)
Fixed a problem with a relative path given for the annotations
located next to artifact if the target folder does not exist. (#6683)
Guidelines, Checks, and Documents
mcheck_mes_slsf_9103: Exclude specific library blocks from the analysis
The check has been equipped with a second check parameter
‘MES.mes_slsf_9103.IgnoredLibraries’ that enables the user to ignore
library blocks additionally to project-wide ignored libraries.
mcheck_db_0141: Allow blocks in feedback loops
The check has a new check parameter ‘MAAB.db_0141.AllowedBlocksInLoops’
that allows you to specify blocks that may be orientated from right to
left within a feedback loop. These blocks can be identified by
particular blocktype-masktype combinations, or a single * as a wildcard
character can be used.
Changes
mcheck_jc_0451: The check now also takes into account expressions
that are explicitly converted to an unsigned integer type and
variables whose data type is inherited from the chart definition.
Moreover, multiplications of uint8/16/32-variables by (-1) are also
reported. (#6484)
mcheck_ds_0070: In accordance with the dSPACE guideline
TL_RULE_STATEFLOW_EMBEDDED_MATLAB, the check now also verifies the
action language of the chart to be ‘C’. (#6512)
mcheck_misra_slsf_031_a: The check parameter
‘MISRA_SL_SF.misra_slsf_031_a.AllowedBlocksInLoops’ now additionally
allows the specification of masktypes of blocks to be ignored within
feedback loops. (#6474)
mcheck_misra_slsf_006_b: For Discrete Filter blocks the Simulink
parameter ‘InitialDenominatorStates’ can not be modified via GUI, if
the property ‘Filter Structure’ is ‘Direct form II’. Hence, these
parameters are no longer considered by the check. (#6548)
mcheck_misra_slsf_026_c: The check description was changed: The
third pass-fail criterion ‘Also use prefix or suffix if the port block
name would be the same as any other block name, i.e. any block has the
same name as a signal connected to a port’ was removed since it is not
part of the respective guideline. (#5938)
mcheck_misra_tl_3_2: The check description was improved in order to
clarify the check functionality concerning Look-Up Table blocks.
(#6537)
Bug Fixes
mcheck_misra_slsf_031_a: In some cases the check gave redundant
failed findings for left oriented destination blocks. Guideline
violations are now only reported once per block. (#6657)
mcheck_na_0030: The check gave false failed findings for bus output
signals of Bus Selectors. Moreover, for certain modeling patterns the
check did not properly assess whether a signal was a bus signal. Both
issues have been fixed. (#5941)
mcheck_ds_0093: The guideline TL_RULE_GENERAL_DIAGNOSTICS has a
guideline parameter with different expected values for the parameter
‘Underspecified initialization detection’ depending on the used
TargetLink version. When there was no TargetLink installation, the
check reported this parameter as unknown. This issue was corrected and
now the check gives a warning indicating the user should replace the
expected value of the guideline parameter directly with the desired
value. (#6443)
mcheck_ds_0105: The check aborted if a TargetLink Bus Inport block
was used as an input signal source for the Selector block. This issue
was fixed. (#6459)
mcheck_na_0009: The check gave an incorrect failed finding for
signals with a propagated label, if the signals were located within a
child subsystem of a library block. Now, those signals are passed.
(#5939)
mcheck_na_0009: If a Bus Selector block had the option ‘OutputAsBus’
selected and if its output signal had no propagated signal name, the
check gave an incorrect failed finding for this output signal. Now,
those bus signals no longer get a failed finding, because they are new
signals and also the signal propagation is not available. Exception:
In MATLAB R2011b, the signal propagation is available in that case and
hence, the check now gives a failed finding if the new bus signal is
not named but has a propagated label. (#5940)
mcheck_mes_slsf_9003: In some cases the repair action returned a
wrong finding message. This has been corrected. (#6513)
mcheck_jc_0451: In specific cases the check did not properly process
white spaces in expressions. Moreover, some subtractions were
incorrectly reported as failed. The issues were fixed. (#6484)
mcheck_misra_slsf_026_b: The check aborted if it was executed on a
library model. This was fixed. (#6518)
mcheck_mes_slsf_9101: The check parameter
‘MES.mes_slsf_9101.CheckHiddenNames’ did not work correctly when set
to false and the check analyzed blocks with the option ‘ShowName’ =
‘off’. This issue was fixed. (#6533)
mcheck_db_0110: The bit mask properties of Bitwise Operator blocks
were always analyzed. Now, the bit mask no longer gets a failed
finding if it is not used. (#6548)
V5.1.0 15-01-2019
Tool Framework
Comfortable loading of projects and reports via drag&drop
Configurable mapping strategy for annotations
The strategy to identify MATLAB elements is now configurable in the
adapter preferences. This allows, for example, annotation re-mapping
even if the path of the element has changed by using only the SID.
MATLAB elements of the same artifact can be identified by either
‘SID’, ‘Path’, or ‘SID and Path’.
The configuration can also be changed for previous reports in
continue work mode.
The default strategy has been changed from ‘SID and Path’, used in
previous tool versions, to ‘SID’. (compatibility considerations)
For further help, see Configurable identification of MATLAB
elements.
Switching to 64bit architecture
Get extended help in the validation view
Added validation of project configuration before running the
analysis so that the user is warned in case of potential problems.
Improved and enhanced validation of library content to ensure usage
of consistent data.
Validation information gets persisted in the MXMR reports and is
restored when reports are loaded. For reports loaded in ‘continue
work’ mode, a re-validation is executed to update the validation
results.
Improved the details shown for validation problems in the validation
view.
Improvements
Enhanced matching of annotations for ASCET to use message ID and
message parameters instead of message text. Now annotations are still
re-mapped even if the message text was changed.
Eliminated necessity for restarting the MATLAB adapter and connected
MATLAB for some preference changes.
Improved performance of annotation re-mapping by not searching for
annotations files in child directories of search path anymore.
Added global guideline compliance statistic for each artifact to
MXMR report.
Aligned fields for search/filters with corresponding names shown in
the UI to ease the searchability. (#6235)
Allow predefined selection states of checks in the Guideline
Document editor which can be overridden and saved for MXAM projects as
needed. Added the option to reset the selection state in the project
guidelines perspective to the one defined in the guideline document.
Added notifications for finished analysis and report import/export
to the MXAM tray icon. Added menus to easily navigate to the working
directory and the user directory.
Added support to export reports with the API in a short JUnit
format.
Improved error handling for importing reports. (#6166)
Excluded findings better or equal to INFO from heat map in the
HTML/PDF reports. (#6393)
Bug Fixes
Fixed typo in message dialog shown in case of an unavailable
license. (#6249)
Fixed abort of report import in case user decided to cancel the
project selection. (#6269)
Prevent saving projects with an invalid title, otherwise resulting
in a broken list of recent projects. (#6245)
Fixed restart of MATLAB adapter, otherwise resulting in MATLAB
connection problems and a missing tool artifact selection tab. (#6278)
Fixed handling of missing artifact location in annotation wizard, in
case the MATLAB artifact to annotate was not saved yet. (#6160)
Fixed save of project in case user did not change the project
settings but other changes have been made. (#5667)
Fixed cancel behavior of ‘Customize Check Parameters’ wizard in case
of user is canceling a focus change. (#6103)
Fixed error handling in utility for command execution. (#6339)
Fixed display of annotation message in finding details view. (#6026)
Set UNKNOWN as default value for Ascet6Object’s type attribute to
fix metamodel migration for reports. (#6267)
Fix duplicated UIDs of default guideline template and parameter
definition. (#6405)
Fixed parameter handling for changed default values. (#6375)
Fixed initialization of Annotation Wizard. (#6396)
Fixed list of predefined values for parameters to ensure no empty
value can be selected. (#6407)
Guidelines, Checks, and Documents
Compatibility with MATLAB 2018b
New guideline and check for using Stateflow actions
Improvements
Changes
mcheck_misra_slsf_006_b: For TargetLink blocks, the check gave
findings for the tunable mask parameter ‘data’. This generic parameter
is now ignored, as it holds TargetLink code generation data. Likewise,
the blocks PreLookup, Model Info, Scope, and Clock are no longer
reported. Also, signed named constants, e.g. ‘-x’, are not reported as
failed. (#6364,#6168,#6441)
mcheck_sdt_il001_a: If a signal of an Inport or Outport originates
from a conditionally executed block, a review finding is given.
(#6265)
mcheck_ds_0097: In the case of multiple TargetLink subsystems, the
check previously gave a warning finding. This warning has been removed
because the check works fine for more than one subsystem. (#5928)
Bug Fixes
mcheck_na_0032_b, misra_tl_5_5: In the special case where a file
named ‘tllib’ is contained in the MATLAB path although TargetLink is
not installed, these checks might have aborted for particular modeling
patterns. This has been fixed. (#6290)
mcheck_ds_0093: For the specific case that the Simulink diagnostics
option ‘UnderspecifiedInitializationDetection’ should be analyzed, the
check gave an incorrect finding. Also, the repair option did not work
properly. This issue has been fixed. (#6197)
mcheck_na_0032_b: Signal branches of merge block input signals that
are placed in front of conditionally executed subsystems are no longer
marked as failed. (#5778)
mcheck_misra_slsf_025_a_1: Blocks with the Operator property are
correctly identified even if that specific operator does not appear in
the library. (#6158)
mcheck_misra_slsf_036_a: In cases where there is a feedback loop in
the model, the check could previously get caught in an infinite loop
during the analysis. This has been fixed. (#6217)
mcheck_tl_pr20050721_08: The check may have aborted due to an
undefined internal variable. This has been corrected. (#6228)
mcheck_misra_slsf_012_a: If a TargetLink Switch block is located
outside a TargetLink Subsystem, or if the analysis is executed from
within a TargetLink Subsystem, the check may have given incorrect
failed findings. Both issues have been fixed. Also, a warning finding
is now given in the first case. (#6239)
mcheck_misra_slsf_030_c: The check may have given a false failed
finding if a Port block was positioned in the correct region (left,
center, right) but the region was smaller than the allowed range given
by the parameter. (#6198, #6215, #6226)
mcheck_misra_slsf_030_ab, mcheck_misra_slsf_030_c: The checks gave a
failed finding if only one block existed in a subsystem. Now, the
checks always give a passed finding in such cases because it complies
with the guideline. (#6198, #6215, #6226)
mcheck_sdt_il001_a: The check now properly analyzes bus elements
when searching for signal duplications. (#6265)
mcheck_misra_slsf_006_b: The check gave a false failed finding when
using enumeration elements in calibratable block parameters. (#6251)
mcheck_na_0002: The check may have given false positive or false
negative findings for blocks whose source signal is contained in a
nested bus. This has been fixed. (#6254)
mcheck_mes_sltl_002_b: Calling a certain TargetLink utility function
while analyzing TargetLink Data Dictionary objects may have caused
MATLAB 2017b to crash. This has been fixed. Also, in specific
situations, properties of TargetLink Stateflow data with scope ‘Data
Store Memory’ could not be analyzed. In those cases, the check now
searches for the properties of the respective Data Store Memory block.
(#6312)
mcheck_misra_slsf_016_d: For specific modeling patterns involving
Selector blocks, the check may have aborted due to an erroneous
determination of input signal indices. This issue has been fixed.
(#6159)
mcheck_ds_0100: The check may have aborted for certain bus data
involving non-scalar elements. This issue has been fixed. (#6212)
mcheck_cgtl_4301: The post-processing of the check results has been
safeguarded to prevent an aborted result. (#6384)
mcheck_cgtl_4202: The analysis of DD variables of type ‘struct’ may
have failed when using local scalings. This issue has been fixed.
Moreover, the use of a specific TargetLink 4.3 utility function has
been safeguarded in order to prevent MATLAB crashs. (#6404,#6411)
V5.0.0 27-09-2018
Tool Framework
Comprehensive support for the setup of an automated MXAM analysis.
Simply export your MXAM DRIVE project to a MATLAB script file using
the GUI.
The generated file can directly be executed in MATLAB and uses the
batch API of MXAM DRIVE.
Use these scripts in conjunction with the new MES Jenkins Plugin to
easily setup your continuous integration.
This feature is only available with a Continuous Integration License
(CIL).
For further help, see MATLAB Batch
Exporter.
New report comparison checks to compare two MXAM DRIVE reports (BETA).
Compare two MXAM DRIVE reports according to their structural and
semantical equality.
Differences are analyzed based upon findings, annotations and their
guideline documents structure.
See statistical information about the amount of equal and different
findings.
This feature is only available in the Functional Safety Solution.
For further help, see Perform an MXAM Report
Comparison.
Licensing
Compatibility with MATLAB 2018a
Improvements
Enhanced memory management to enable analysis with larger models.
(#6139, #5964, #5889)
Reduced UI flaws in the document navigation tree when selecting
findings. (#5714)
Updated the ASCET tool adapter to version 5.0.2.2 that supports more
precise coordinate information for hierarchy connectors. (#5903)
Enhanced annotation handling from annotation libraries to reduce the
time needed to map them. (#6032)
Added a new CLI option ‘copyDefaultUserDir’ that allows to copy
settings from the default user directory to a custom user directory.
Removed public Java API that was previously marked as @Deprecated.
Enhanced handling of content with obsolete ID information. (#6058)
Minor improvements of displayed information in the UI. (#6151)
Bug Fixes
Fixed that the tool artifacts tab in the artifacts wizard would not
appear in certain cases (#6136)
Fixed the relative paths handling for report names in the project
settings and the export report dialog. (#6108)
Fixed broken links in the MXAM DRIVE Developer Guide. (#6081)
Fixed possible deadlocks between the customize check parameters and
import report dialogs. (#6054)
Fixed selection states of checks for imported reports that reference
the same check multiple times with different selection states. (#6012)
Fixed a problem where users without sufficient rights could save
project settings. (#5882)
The attempts to unload compiled referenced models after check
execution have been prevented. (#5880)
Added exception handling to the export report dialog in case no
report has been opened. (#5792)
Fixed occurrences of guidelines that have been deleted in the
project guidelines view. (#5721)
Fixed malfunction of filter options in the check parameter dialog.
(#5654)
Guidelines, Checks, and Documents
New guideline document “Fit for Testing”
This guideline document is intended to support Simulink;,
TargetLink®, and Embedded Coder® model tests.
Compliance with this set of guidelines helps prepare models for
efficient testing. The document includes guidelines that notably support
unique naming of potential test objects to help define between
different test objects in a model simulation,
interface coherence to support a comprehensive test interface,
clear data flow to promote model understandability and transparency.
New MES-MATLAB guideline and associated check
New version of MXAM Starter Set and MXAM Starter Set Extended Version
Addition of several guidelines, mainly from the dSPACE TargetLink
library.
Replacement of obsolete or redundant guidelines.
For a detailed account of the changes, see the Guideline Document’s
history.
Improvements
Changes
mcheck_mes_slsf_006_b: The check implementation was renewed in order
to suit the requirements of the corresponding guideline
misra_slsf_006_b
mcheck_mes_cgtl_4301: Given that it only analyzes TargetLink
properties, the check now requires a TargetLink installation. (#5853)
Dataflow Analysis: The base type of TargetLink’s built-in data type
‘Bool8’ is now considered as Boolean as long as the constraints have
the default values. Previously, it was identified as UInt8.
mcheck_mes_slsf_9001: Suggested values for two “Diagnostics”
settings were changed in order to not cause errors in SIL via
TargetLink. (#6123)
mcheck_misra_slsf_030_abc: The check was split into two parts,
mcheck_misra_slsf_030_ab and mcheck_misra_slsf_030_c. (#6001)
Bug Fixes
mcheck_na_0013: The check implementation deleted line breaks from
transition labels, which may have led to a semantic change. The issue
has been fixed. (#5918)
mcheck_mes_sltl_001, mcheck_na_0013: In some cases, expressions
containing negative numbers as first operands were incorrectly
identified as constants. The issue has been fixed. (#5868)
mcheck_sdt_sc002_e: In some specific cases of Stateflow data, the
check aborted when an unknown variable was referenced. The check has
also been improved to consider the TargetLink properties of charts in
TargetLink models.(#5987)
mcheck_misra_tl_6_1: For block parameters, in the case of nested
buses, the LSB was not correctly analyzed, which potentially led to
false negative findings. This problem has been fixed. (#5799)
mcheck_misra_slsf_026_c: The description of the check parameter
MISRA_SL_SF.misra_slsf_026_c.LabelSignalLinesConnectingReusableSubsystem
has been modified in order to be consistent with its functionality.
(#5759)
mcheck_ds_0107, mcheck_misra_tl_5_7: The specific case of the
control input of a Multiport Switch block having an integer data type
with a positive data range was not reported as a failed finding. This
case is now correctly issued a failed finding. The failed findings
have also been improved to avoid confusion. (#5691)
mcheck_sdt_il001_a: In specific cases, the check was stuck in an
infinite loop while analyzing TargetLink Bus Inports or SWC
ReceiverPorts. This has been fixed. (#5896)
mcheck_mes_sf_001: In specific cases, the check incorrectly reported
transitions as a loop. This problem has been fixed. (#5776)
mcheck_tl_pr20060928_17, mcheck_mes_tl_001: Calling a certain
TargetLink utility function while analyzing TargetLink Data Dictionary
objects may have caused MATLAB 2017b to crash. This has been fixed.
(#5911,#5949,#6120)
mcheck_misra_slsf_048_g: If a Chart contained at least two States,
the check might have given the wrong State name in the finding
message. This has been corrected. (#5959)
mcheck_ds_0102: The failed finding message was corrected to describe
the data type of the block being reported. (#5976)
mcheck_misra_slsf_036_a: The check aborted when the source is the
Data Store Memory block. The issue has been fixed. (#5982)
mcheck_sdt_sc004_c, mcheck_ds_0098: When the source of the
arithmetic block is a Gain block, the check uses the Gain value to
evaluate the range of the arithmetic operation. Previously, only
constant values were considered. (#6052)
mcheck_misra_slsf_016_a: The check always gave a “passed” when the
option ‘OutputAsBus’ of the Bus Selector block was set to ‘on’. Now,
failed messages are created whenever this option is enabled and new
bus signals are created. (#5635, #5925)
mcheck_misra_slsf_006_c: The check aborted in cases where the block
parameters were entered as tables. This has been fixed. (#6116)
mcheck_mes_sltl_002_a: In certain cases, the check aborted for
non-scalar input signals. The issue has been fixed. (#5900)
V4.7.0 21-06-2018
Tool Framework
Customization of guideline selection on project level
The selection of Guideline Documents can now be saved to the
project. This allows given Guideline Documents to be tailored more
easily to project-specific needs.
The choice to persist the selection state of checks and guidelines
has moved from the Guideline Document editor to the MXAM project and
is therefore not available in the Guideline Document editor anymore.
Existing projects will be converted to the new format if they are
saved for the first time.
For further help, see Modify the set of Guidelines and Checks in a
Project.
Direct navigation from the parameter view to the customization wizard
Double-clicking on a parameter or parameter setting from wherever it
can be inspected will open the customization wizard.
The corresponding parameter will be preselected, allowing you to
modify it to your needs immediately.
For further help, see Customize Check Parameters
Wizard.
Guarantee consistent reporting
Reports are marked as potentially inconsistent when a rerun or
repair has been conducted on only a subset of checks and/or artifacts.
This will warn the user that different checks might have been
analyzed on different versions of the model and ensures complete
reporting for quality management.
For further help, see Rerun
Checks or Repair
Check Findings.
Improvements
Windows command line parameters for ‘mxam.exe’ are now also
available in MATLAB API for ‘mxam.m’ and
‘mxamapi_start_batch_execution.m’.
Adjustments to report formats aligning information contained therein
and keywords that are used. (#5579)
The file ‘Content.m’ residing in MXAM’s root directory allows for
the use of the MATLAB ‘ver’ command if the MXAM root is contained in
the MATLAB path only. (#5474)
Improved filter information about selected artifacts in the
Rerun/Repair dialog when used in combination with filters. (#5662)
Improved error handling and logging in MATLAB batch analysis.
(#5755)
Minor improvements of UI and displayed information. (#5531, #5556,
#5562, #5563, #5567, #5568, #5576, #5713)
Bug Fixes
In the dialog for selecting artifacts to rerun or repair, the actual
selection could get out of sync when used in combination with
filtering. (#5536)
Fixed an unintended behavior when canceling the deletion of reports.
(#5569)
Fixed image size in exported reports from preventing label
clipping.(#5630)
Fixed a problem with closing models after repair mode when using
model referencing. (#5628)
Fixed an NPE in ASCET adapter that could occur when querying
sequence calls for complex elements. (#5637)
Fixed an issue that prevented selection of artifacts for rerun on
single checks. (#5661)
Fixed handling of non-ASCII chars in web services and reporting.
(#5728)
Removed unintended output on MATLAB console when handling
ignore-list options. (#5589)
Fixed a bug that allowed two projects to be opened simultaneously.
(#5797)
Guidelines, Checks, and Documents
Compatibility with TargetLink 4.3
Minor adjustments to ensure compatibility of framework and checks
with TargetLink 4.3.
For TargetLink 4.3, the guidelines TL_RULE_DISC_LIB_PERMITTED_BLOCKS
and ds_0022 now allow the use of Delay blocks.
New dSPACE TargetLink checks
Extended support of TargetLink Enumerations
Improvements
Enumeration elements in Stateflow Charts can now correctly be
identified as constants in order to not be treated as variables.
(#5715)
Specific non-variable block parameters such as enumeration elements,
boolean and non-scalar literals as well as calls to MATLAB functions
with literal parameters (e.g., ‘exp(1)’) are henceforth correctly
identified as constants. (#5715)
The robustness of the data flow analysis has been enhanced with
regard to different methods of block parameter specifications,
including mask, base and model workspace parameters. (#5482)
mcheck_misra_tl_6_1: To ensure full compliance with the guideline
TL_ADV_OPTI_POWER_OF_2, the check now also considers Stateflow data
items. (#5636)
mcheck_ds_0093: The former check parameter
‘dSPACE.TargetLink.DiagnosticSettings’ is now named
‘dSPACE.TargetLink.ds_0093.DiagnosticSettings’. Furthermore, the check
parameter ‘dSPACE.TargetLink.ds_0093.minDiagnosticsError’ has been
introduced. If it is set to false (default value), only the values
that are defined in the parameter
‘dSPACE.TargetLink.ds_0093.DiagnosticSettings’ are allowed. If the
parameter is set to true, the check does not report a failed finding
for parameters with stricter warning/error levels than the desired
value. (#5580)
mcheck_mes_slsf_9001: The check can now also analyze configuration
options that have been set in a configuration reference. The repair
action and the check parameter MES.mes_slsf_9001.minDiagnosticsError
are not available in this case. (#5718)
Changes (compatibility considerations)
mcheck_jc_0231: Inport and Outport blocks have been excluded from
the analysis in this check since these blocks are already being
analyzed by the check mcheck_jc_0211.
mcheck_misra_slsf_012_a, mcheck_jc_0231, mcheck_misra_tl_5_8: These
checks no longer allow to specify all available switching criteria in
the check parameter ‘Criteria’ at the same time. Now, they give a
warning finding in that case and the model will not be analyzed.
(#5431)
Bug Fixes
mcheck_mes_sltl_001: The specific case of vector-valued constants
could not be handled by the check. The issue has been fixed. (#5845)
mcheck_sdt_sc007_b: In the specific case where the destination block
of the Outport of a TargetLink Function Subsystem is a DataStoreWrite
block, the check could not determine the output variable’s scaling
type. The check now reads the scaling type of the corresponding
DataStoreMemory block. (#5681)
mcheck_sdt_sc002_c: The determination of scaling properties for
Stateflow data items now takes the width of referenced DD variables
into account in order to correctly compare non-scalar scaling
properties. (#5699)
mcheck_na_0027: The check aborted when a library referenced in the
parameter ‘MAAB.na_0027.Libs2Check’ is a structured library. Also, in
specific cases the check gave incorrect failed findings for Charts.
Both have been fixed. (#5753)
mecheck_db_0032_a: In the specific case of a masked Chart, the check
gave incorrect failed findings about signal lines inside the Chart.
This has been fixed. (#5752)
mcheck_db_0123: The check also included MATLAB Function blocks. The
analysis is now confined to Stateflow Charts. (#5761)
mcheck_sdt_ic002: In models where many conditional subsystems are
connected to each other in deeper levels, the efficiency of the check
was compromised and caused MATLAB to freeze. This issue has been
fixed. (#5772)
mcheck_misra_slsf_006_c: A problem with the handling of
vector-valued initial conditions in Simulink and TargetLink models has
been fixed. Concerning the Integrator block, the wrapping parameters
are ignored if the option WrapState is ‘off’. (#5824,#5848,#5831)
mcheck_misra_slsf_036_a: The compile mode is now required to conduct
an in-depth analysis of bus structures. In addition, a more efficient
data flow analysis has been implemented. (#5462)
mecheck_misra_tl_3_3: The proper identification of DD variables for
the table option ‘InputPort’ of TargetLink blocks of type
‘Interpolation_n-D’ has been safeguarded. (#5608)
mcheck_db_0110: To identify tunable block parameters, the attribute
‘read-only-if-compiled’ is required. This fact is now taken into
account, which prevents the analysis of certain non-tunable block
parameters. (#5575)
mcheck_jc_0511: In certain cases, elements of graphical functions
that did not match the return variable had been analyzed. The issue
has been fixed. (#5573)
mcheck_mes_slsf_9101: The TargetLink block ‘CounterAlarm’ is only
considered in the analysis if the library ‘tl_rtos_lib’ is installed.
(#5550, #5587)
mcheck_mes_slsf_9001: The Excel file ‘SL_ParameterList’ with
expected parameter values was updated to match MATLAB R2015b. Also,
the expected value of the parameter ‘Element name mismatch’ was
modified to ‘error’ due to TargetLink compatibility. The check has
been improved to accept expected values for newer MATLAB versions as
well. (#5642)
mcheck_misra_slsf_012_a, mcheck_jc_0231, mcheck_misra_tl_5_8: These
checks gave an incorrect failed finding about the threshold value of a
Switch block if more than one switching criterion was specified in the
check parameter ‘Criteria’. This has been fixed. (#5431)
V4.6.0 29-03-2018
Tool Framework
Improved documentation of ignore rationales
It is now possible to directly trace the ignore rationale within the
report for each ignored finding.
The rationale, defined in the ignore rule, is now displayed in the
report annotation view for each ignored finding.
The rationale is also exported to the HTML, PDF, and Excel report
(format: full).
For further help, see Ignore Parts of an
Artifact (MXAM DRIVE User
Guide > Use Case Scenarios > Manage a Project Setup > Using an
ignore-list).
Extended report configuration (#3494, #4806, #5053)
The default report export settings can now be predefined in the
project settings. The report export wizard can also be adjusted to use
only those settings or adopt them as default values.
MXAM is now able to save reports next to an artifact in a
multi-artifact analysis by identifying the report location as the
artifacts’ common root path.
For further help, see Project
Perspective (MXAM
DRIVE User Guide > User Interface > Perspectives).
Extended repair and rerun options (#4806, #4814, #5053)
Perform the rerun and repair actions within the report perspective
for selected artifacts.
Use the ‘interactive’ option to perform the repair action without
user interaction. Please note that this automated action needs to be
handled with care.
For further help, see Rerun checks in a
report (MXAM DRIVE
User Guide > Use Case Scenarios > Run a Guideline Compliance Analysis
> Run an Analysis Using the User Interface) and Repair guideline
violations
(MXAM DRIVE User Guide > Use Case Scenarios > Evaluate Report Results
> Repair guideline violations).
Improvements
Use the keyword ‘open variable editor’ in the check implementation
of a custom check to create links to variables in the MATLAB
workspace. (#5053)
Use drag and drop in the ignore-list editor to move rules between
ignore-lists.
Buttons in the project perspective are only accessible if a useful
action can be performed on the current selection.
Get an overview of all customized check parameters within the
analysis configuration view in the report perspective.
If the initialization of MXAM DRIVE in MATLAB is triggered
separately, the teardown will leave all paths in MATLAB untouched to
guarantee integrity when other tools are integrated into MATLAB.
Updated ASCET tool adapter (v5.0.2) to support the final version
6.4.3 of ASCET. (#5413)
Improved behavior of license dialog on startup of MXAM. (#5394)
Bug Fixes
Fixed the report to also contain MATLAB’s model information for
referenced models. (#5290)
The status handling of MXAM’s content to allow new versions of
guidelines to be created has been fixed. (#5355)
Unified validation result of project’s settings regarding missing
artifacts. (#5362)
Fixed handling of project’s ignore lists that could cause the same
list to be added multiple times. (#5365)
Fixed handling of project’s managers to prevent the addition of the
same manager multiple times. (#5364)
Fixed scaling of UI elements on resizing of respective dialogs and
windows. (#5350, #5344)
A rare issue that caused problems in the Details view when browsing
the findings of a report has been solved. (#5490)
After a batch analysis has been executed, the current project in
MXAM is now loaded correctly. (#5489)
Fixed an issue with executing a batch analysis if MXAM is already
running and MATLAB is not yet connected to MXAM. (#5484)
The MXMR export in combination with MATLAB R2009b could not be saved
in some cases due to an unexpected format of SID. (#5522)
Fixed how license expiration of evaluation licenses is displayed.
(#5306)
Guidelines, Checks, and Documents
Compatibility with Matlab 2017b
Minor adjustments to ensure compatibility of framework and checks with
MATLAB 2017b.
New dSPACE Targetlink checks with focus on runtime improvement,
code size, and control flow in Stateflow
mcheck_mes_cgtl_4202: 64-Bit Operations (referenced in Guideline
TL_RULE_OPTI_64_BIT, document dSPACE Modeling Guidelines 4.0.3)
mcheck_mes_cgtl_4203: Use of Constraint Limits (referenced in
Guideline TL_ADV_OPTI_CONSTRAINTS, document dSPACE Modeling Guidelines
4.0.3)
mcheck_mes_slsf_4112: Use of Transitions in Control Flow (referenced
in Guideline TL_RULE_STATEFLOW_TRANSITIONS_IN_CONTROL_FLOW, document
dSPACE Modeling Guidelines 4.0.3)
mcheck_mes_slsf_4113: Execution Order of Transitions (referenced in
Guideline TL_RULE_STATEFLOW_USER_TRANSITION_ORDER, document dSPACE
Modeling Guidelines 4.0.3)
New MES checks with focus on testability
mcheck_mes_slsf_9101: Blocks With Generic Name (referenced in
mes_slsf_9101, document MES Best Practices)
mcheck_mes_slsf_9102: Naming of Logged Signals (Simulink/Embedded
Coder) (referenced in mes_slsf_9102, document MES Best Practices)
Additional new checks
mcheck_na_0014_a, mcheck_na_0014_b, mcheck_na_0014_a: Use of Local
Language in Simulink and Stateflow and TargetLink (referenced in
na_0014, document MAAB 3.0)
mcheck_mes_slsf_3109: Avoid Transitions Crossing State Boundaries
(referenced in mes_slsf_3109, document MES Functional Safety Modeling
Guidelines)
Improvements
mcheck_na_0002: The functionality of the check has been considerably
improved. The check now analyzes the actual data type of the input
signal of the respective block instead of solely comparing the block
lists that were given in the check parameters. The number of check
parameters has been reduced to two: ‘BlocksRequiringBooleanInput’ and
‘BlocksRequiringNumericalInput’. These contain a list of blocks that
are investigated by this check and can be extended. In addition, there
is a new review finding for blocks receiving an enumerated data type
and also a new review finding for cases where the data type cannot be
evaluated due to an incompilable model. (#5067) (compatibility
considerations)
mcheck_jc_0201, mcheck_jc_0211, mcheck_jc_0221, mcheck_jc_0231: The
finding messages and the behavior of the repair actions have been
enhanced. Beyond this, the replacement of blank spaces as a repair
action for the check jc_0231 has been limited to the first character
of the block name. (#5370), (#5379)
Robustness of the data flow analysis has been significantly
improved.
mcheck_mes_cgtl_9002: The Excel file ‘TL_ParameterList.xlsx’,
referenced in the check parameter
‘MES.mes_cgtl_9002.ParameterExcelFile’, has been cleaned up. (#5421)
mcheck_sdt_sc007_b: The classification of blocks that should not
perform an implicit data type conversion at the TargetLink Function
interface has been reduced and refined. For blocks where the implicit
data type conversion is avoidable only under certain conditions, the
check gives a review finding. (#5367), (#5284)
Bug Fixes
mcheck_sdt_sc006: The check incorrectly reported a failed finding
for unconnected Inport blocks inside a Simulink Variant Subsystem
block. This has been fixed. (#4821)
mcheck_misra_slsf_027_j: The check analyzed, among other things,
output signals of Demux blocks. These output signals are ignored if
the propagation of signals for Demux blocks is not available. (#5254),
(#5401)
mcheck_jm_0001: The Discrete PID Controller block was excluded from
the list of prohibited blocks, and the check no longer reports a
failed finding for it. (#5252)
mcheck_jc_0281, mcheck_na_0009, mcheck_misra_slsf_007_a: The
Simulink Function and some hidden blocks inside of Stateflow charts
were incorrectly analyzed by the checks. These are now ignored.
(#5250)
mcheck_jc_0231: Carriage returns were incorrectly reported as a
failed result. The issue has been fixed. (#5258)
mcheck_ds_0059, mcheck_misra_slsf_043_a/_b/_d/_i: If the action
language ‘C’ was used in a Chart, comments indicated by ‘//’ could not
be identified by these checks and, as a result, incorrect failed
findings were reported. Now, all Stateflow checks properly identify
‘C’ comments. (#5367)
mcheck_na_0028, mcheck_misra_tl_6_7, mcheck_ds_0100: The checks
aborted in the specific case where a workspace variable is used in the
parameter of the Demux block. Now, base and model workspace variables
are properly evaluated. (#5373)
mcheck_db_0105: The specific case of a direct combination of an
Assignment and a Selector block could cause an infinite loop. The
check now handles this construct correctly. (#5381)
mcheck_misra_slsf_016_a: The check gave incorrect failed findings
for ShadowInport blocks and Memory blocks, and excluded the analysis
of the BusSelector block even though it is capable of creating new
buses. Now, the BusSelector is analyzed and ShadowInport and Memory
blocks are ignored by the check. (#5406, #5418)
mcheck_misra_slsf_012_a: In the specific case where the source of
the control input of the Switch block is a DataStoreMemory block, the
check reported incorrect failed findings. This has been fixed. (#5431)
V4.5.0 04-01-2018
Tool Framework
New ignore-list editor
Use the ignore-list editor to create or edit your ignore-list.
Define rules to ignore elements via blocktype, masktype (only
MATLAB®), or path.
Combine rules and conditions to apply nested and/or-conditions.
Use the context menu on a finding in the MXAM report or on a block
in Simulink® to add a predefined ignore-rule.
Save your old ignore-list with the editor to convert it to the new
format. Ignore-lists in the previous format are still valid, but have
a different behavior. For the applied changes, please see ignore-list
compatibility
(MXAM DRIVE User Guide > Use Case Scenarios > Manage a Project Setup >
Using an ignore-list> Ignore-list file format compatibility). Note,
that the format will be transformed the first time the ignore-list is
saved with the new editor (compatibility considerations).
For more help, see Ignore Parts of an
Artifact (MXAM DRIVE User
Guide > Use Case Scenarios > Manage a Project Setup > Using an
ignore-list).
Re-design of the project settings page
Separated sections help you to configure the project step by step.
Check the validation marker to evaluate if your project is set up
properly.
For more help, see Project
Perspective (MXAM
DRIVE User Guide > User Interface > Perspectives).
Improvements
The dialog used to define an author of content elements (e.g.
ignore-lists, documents, guidelines etc.) provides a list with authors
and managers available in the content of loaded libraries .
Added option to cancel the analysis of the current artifact within a
custom check. (#4753)
Added option to skip the analysis of a specific check on a specific
artifact in MATLAB® via the hook function
‘dochooksmxam_hookSkipArtifact.m’. (#4655)
Added a column with the artifact’s name in Excel report. (#4751)
Bug Fixes
Fixed problems with retrieving the version of MXAM in
MATLAB®. (#5183)
Fixed determination of data flow for certain ACSET®
elements. (#5136)
Fixed a problem with saving artifact definitions rendering them
unusable for the current session. (#5148)
Fixed a problem with missing write permissions for the index
database files of the lucene search engine. (#5218)
Guidelines, Checks, and Documents
Changes
mcheck_ar_0001: The check has a new parameter
‘MAAB.ar_0001.IgnoredDirectoryNames’, and it will now ignore all files
in the given directories. (#5094)
mcheck_sdt_sa003: Control signals of Switch blocks that originate
from a Constant block with variable class CAL or MERGEABLE CAL are no
longer reported as a warning result. (#5243)
mcheck_misra_slsf_029_f, db_0032_d: These checks do no longer report
signal lines that branch off into opposite directions at the same
branching point, i.e. the angle between the signal lines is 0° or
180°. (#5123)
mcheck_misra_slsf_030_abc: In Subsystems with Enable, Trigger, and
Action ports, these ports may be big in relation to the Subsystem
area, which made it difficult to comply with the guideline. For those
Subsystems, the tolerance ratio has been increased so that the check
gives a failed result only if more than 20% of the port is outside the
desired region (left/right/center). (#5124)
Bug Fixes
mcheck_na_0002, mcheck_jc_0141: If the tllib was available in the
MATLAB path but TargetLink was not installed, these checks might have
aborted in particular modeling patterns. This has been fixed. (#4375,
#5157)
mcheck_sdt_sc004_b: In specific cases, the check would not report a
failed result for Product blocks if one of the sources was a block
with output base data type ‘boolean’, e.g. the Logical Operator block.
This has been fixed. (#5036)
mcheck_misra_slsf_045_d: Default transitions with an empty label
caused an abort of the check. Default transitions are handled
correctly now. (#5048)
mcheck_na_0002: Particular check parameter settings that contain the
identifier ‘ErrorFcn’, caused an abort of the check. This has been
fixed. (#5067)
mcheck_misra_slsf_034_a: Charts with action language ‘MATLAB’ have
been analyzed although the option ‘Enable C-bit operations’ does not
exist for these Charts. Now, the check only considers Charts with
action language ‘C’. (#5080)
mcheck_db_0110: The check did not find expressions including ‘~’ or
‘ ‘ (white space). Also, the check did not analyze library blocks.
Both have been corrected. (#5085)
mcheck_misra_slsf_036_c: The check incorrectly reported a failed
result if a Chart port and a signal line were not named identically
due to the automatically added ‘()’ for Function Call Triggers as
output. This has been fixed. (#5100)
mcheck_sdt_sc007_b: Rescaler blocks connected to TargetLink Outport
blocks were reported as a failed result due to the data type mismatch.
Rescaler blocks are ignored now as this is an explicit data type
conversion and therefore intended. (#5101)
mcheck_na_0013: In MATLAB R2011b, Charts in which no transition has
a label caused an abort of the check. The check handles these Charts
correctly now. (#5115)
mcheck_sdt_sc004_c: The check reported incorrect failed results
because the determination of the source data types was incomplete and
did not consider Merge blocks. This has been fixed. (#5150)
mcheck_misra_slsf_008_b: Math Function blocks without the setting
‘round towards zero’ in the block parameters dialog were being
incorrectly reported as a failed result, because the option exists in
the Simulink API. Now, the check considers only Math Function blocks
that have the setting ‘round towards zero’ available and for which it
is therefore a reasonable option. (#5187)
V4.4.0 04-10-2017
Tool Framework
Model referencing support
Set the global parameter ‘ResolveModelReferences’ in the project
settings to ‘true’ to prepare the MXAM project for model referencing.
Use the tool artifact tab to analyze the model with its references
or only one referenced child model.
Use the context menu in the artifact navigation to jump to the
referenced models and back to the location where they are referenced
within the report perspective.
For more help, see MXAM DRIVE User Guide > Use Case Scenarios > Run
a Guideline Compliance Analysis > Running an analysis using the UI.
Distribution of guideline violations of artifacts
The overview view in the report perspective offers a summary of the
overall aggregated result for each artifact.
Get an overview of each artifact’s guideline compliance.
For more help, see MXAM DRIVE User Guide > User Interface >
Perspectives > Report Perspective.
Configure check parameters while working with the MXAM Main Window (#4404)
Use the ‘Customize Check Parameters Dialog’ simultaneously to using
the MXAM Main Window. This enhances the workflow of configuring check
parameters while inspecting the current report or referring to
documentation.
For more help, see MXAM DRIVE User Guide > User Interface > Wizards
> Customize Check Parameters Wizard
UI support for cleanup of unmapped annotations (#4809)
Use the new context menu on the unmapped category in the annotations
view to remove all unmapped annotations.
Remove only annotations created with the report’s project via the
option ‘Delete Unmapped Annotations for Selected Report’s Project’.
For more help, see MXAM DRIVE User Guide > User Interface >
Perspectives > Report Perspective > Annotations.
ASCET Adapter
Use ASCET Formula objects as referenced objects of ASCET findings in
the ASCET check implementation.
Mark an arbitrary location in the ASCET result image to highlight,
for instance, signal crossings. (#4933)
Improvements
Memory usage during report generation has been improved to allow a
higher number of reports to be generated in one batch execution.
(#4901)
Improvement of matching algorithm for annotations.
Create an ignore list in the “File -> New …” Wizard. After a new
MXAM ignore list file has been created, the Windows text editor will
subsequently open the file. Thus, the user can directly modify the new
file. (#4946)
Use the quick run on checks in the library browser to speed up your
testing process while implementing checks.
Bug Fixes
Export of ASCET result images with previous ASCET versions fixed.
(#4905)
Fixed a bug in the transformation logic when transforming the model
to a lower version. (#4994)
Fixed rare error that did not allow report files to be written to
disk. (#4780)
Fixed base ASCET check implementation for projects with modules to
omit ‘inapplicable’ results on project artifacts that have modules.
(#4941)
Fixed a bug where the structure of a Simulink model was not
identified correctly. (#5005)
Guidelines, Checks, and Documents
Support of MATLAB 2017a
Limitation: InBusElements and OutBusElements used in the model are
not supported by MXAM.
Review support for MATLAB Functions in Simulink and Stateflow
The generic review checks mes_sl_generic_001 and mes_sf_generic_001
support MATLAB Functions and are referenced in the following
guidelines:
na_0016
na_0017
na_0019
na_0021
na_0022
na_0025
na_0034.
New Check
Changes
mcheck_mes_slsf_9003: Issues a warning if a chart property is not
available in the currently used MATLAB Version. (#4841)
mcheck_mes_slsf_9100: Define a free fragment for the naming
convention pattern. See
\librarieschecksMATLAB_MESmcheck_mes_slsf_9100v01NamingConventions_Example.xlsm
for documentation. (#4224)
mcheck_misra_slsf_005_a: The check takes into account the libraries
defined in the global parameter ‘Global.Ignored Libraries’, i.e.
blocks linked to a globally ignored library will be ignored now.
(#4887)
mes_mes_slsf_9001: The check has a new parameter
‘MES.mes_slsf_9001.b_minDiagnosticsError’. If the parameter is set to
true, the check does not report a failed finding for parameters with a
more strict warning/error level than the desired value. (#4882)
Bug Fixes
mcheck_misra_slsf_008_b, mcheck_misra_slsf_016_d, mcheck_ds_0100: An
incorrect handling of Vector Concatenation blocks caused the abortion
of the checks. This has been fixed. (#4911)
The analysis of labels containing the ‘<>’ operator did not work
properly. The operator is now handled correctly in Stateflow checks.
(#4900)
mcheck_na_0008: The check reported a failed result for ‘Compare To
Constant’ blocks, as these where treated as subsystems (blocktype
subsystem). ‘Compare To Constant’ blocks are handled correctly now.
(#4867)
mcheck_mes_slstl_002_b: Due to an incorrect handling of an index,
the control input of Switch blocks has been analyzed instead of the
data inport. This resulted in a failed finding in some specific cases
which has been fixed. (#4896)
mcheck_db_0110, mcheck_misra_slsf_006_a: These checks reported a
failed for the ‘parameter data type’ of Gain blocks and for the
‘accumulator data type’ of Sum blocks if ‘fixdt()’’ was selected. This
has been fixed. (#4973)
mcheck_mes_tl_001: An aborted result occurred because the check did
not handle vector valued DD variables properly. This has been fixed.
(#4981)
mcheck_misra_slsf_013_b: The check was aborted if the number of
elements in a Demux block was defined by a base workspace variable.
The check is now able to evaluate the base workspace variable
correctly. (#5015)
V4.3.0 13-07-2017
Tool Framework
ASCET Adapter: Support of ASCET 6.4.3 alpha and the analysis of
ASCET Classes
MXAM is able to connect to ASCET 6.4.3 and can analyze the exported
models.
Use the Statement blocks in your check implementation via the ASCET
Adapter API to navigate in the model and for data flow analysis.
Use the Conversion, Assert, MaxSizeX and MaxSizeY Operators in your
check implementation via the ASCET Adapter API.
The new data types Limited and Wrapped Integer are now supported.
ASCET class checks can now be implemented by using the ASCET Adapter
API. A check implementation example is provided in the documentation
folder.
Improved report merge of MXMR report files
Combine several MXMR reports that have been created for different
models using the same project configuration on the command line while
running MXAM, too.
Get a visual support by displaying a progress bar to follow the
current status of the merge process.
For more help, see the MXAM user guide: Use Case Scenarios > Run a
Guideline Compliance Analysis > Run an analysis Using a batch
Interface
Extended drag and drop behavior
Use drag and drop in the Library Editor to move chapters and
guidelines from one level to another inside a document.
Also use drag and drop to move chapters and guidelines between
different documents from one level to another.
For more help, see the MXAM user guide: MXAM DRIVE Editor Guide >
Use Case Scenarios > Create a Custom Guideline Document > Copy content
from one document to another.
Default location of user libraries for documents, guidelines and
checks in the user directory
The MXAM User libraries for documents, guidelines, and checks will
be generated in the windows user directory when MXAM is first started.
Create custom library items in the user libraries even if MXAM is
installed in a protected directory.
Improvements
The size of the MXAM release has been reduced.
IgnoreLists that are applied by the ‘Apply ignore list’ check box in
the project perspective overview are now documented in the report.
Extended support of library elements in Simulink models in the
artifact navigation.
Added logging mechanism for MATLAB.
Relaxed artifact wizard selection constraints, e.g. to allow the
selection of ASCET classes without their project or module.
The list of existing annotation definitions to choose from when
adding a new annotation in the report perspective is now sorted
alphabetically. (#3177)
Adding the context menu option “Expand Element” on tree views to
expand all elements starting from user selected elements.
Bug Fixes
Fixed an issue with the MATLAB progress bar not showing up during
analysis. (#4612)
Fixed an issue with the MATLAB progress bar not hiding after
executing a link action on a closed model. (#4812)
Fixed report export wizard behavior with already existing files.
(#4804)
Fixed an issue with relative paths in MATLAB. (#4657)
Fixed occurrence of an exception in the generated HTML report if
shared parameters were used. (#4641)
Fixed MATLAB deadlock in cases where a host system already uses an
MXAM web service port. (#4815)
Fixed behavior of temporary variables connected to hierarchies for
ASCET. (#4672)
Fixed reset perspective also resetting the project editor. (#4715)
Fixed missing Lucene search help site. (#4730)
Fixed project settings updating the ignore-list and artifact
definitions properly. (#4671)
Fixed an issue where the MXAM library browser did not show the
content of the Details view. (#4787)
Guidelines, Checks, and Documents
Support of review process for guidelines that require a manual
review for Stateflow elements
Additionally to the Simulink check mcheck_mes_sl_generic_0001 a
generic check (mcheck_mes_sf_generic_0001) provides functionality to
support your manual review process Stateflow elements. This check is
referenced by the following guidelines:
New Guideline Documents
New Guidelines and Checks
mcheck_mes_cgec_2001: Prohibited Simulink Blocks for Code Generation
(referenced in Guideline mes_cgec_2001, document MES Modeling
Guidelines for Implementation with Embedded Coder’)
mcheck_mes_cgec_2002: Reuse of Atomic Subsystem for Code Generation
(referenced in Guideline mes_cgec_2002, document MES Modeling
Guidelines for Implementation with Embedded Coder’)
mcheck_mes_cgec_2003: Avoid Usage of Test Point Signals (referenced
in Guideline mes_cgec_2003, document MES Modeling Guidelines for
Implementation with Embedded Coder’)
mcheck_mes_slsf_4109: Relational Operator with IsInf, IsNaN,
IsFinite Checks (referenced in Guideline
TL_RULE_LOGICBIT_LIB_RELOP_NAN, document dSPACE Modeling Guidelines
4.0.3)
mcheck_mes_slsf_4110: Restrictions with Regard to the From and Goto
Block (referenced in Guideline TL_RULE_SIGNALROUT_LIB_FROMGOTO,
document dSPACE Modeling Guidelines 4.0.3)
mcheck_mes_slsf_4111: Simulink Bus Objects for Structured Variables
in Stateflow (referenced in Guideline TL_RULE_STATEFLOW_BUS_OBJECTS,
document dSPACE Modeling Guidelines 4.0.3)
mcheck_mes_cgtl_4112: Use of Bitfields (referenced in Guideline
TL_RULE_SWDESIGN_BITFIELDS_MISRA, document dSPACE Modeling Guidelines
4.0.3)
mcheck_mes_cgtl_4302: Graphical Functions with Multiple Data Outputs
(referenced in Guideline TL_RULE_STATEFLOW_GRAPH_FUNC_MULTIPLE_OUTS,
document dSPACE Modeling Guidelines 4.0.3)
mcheck_db_0151: State Machine Patterns for Transition Actions
(referenced in Guideline db_0151, document MAAB 3.0)
mcheck_tl_pr20050222_03: Variable Merge for Block Variables of
Struct Types (referenced in Guideline tl_pr20050222_03, document
tl_kpr_guidelines)
Changes
TL_RULE_DISC_LIB_INTEGRATOR_SETTINGS: removed second check (old
version)
TL_RULE_GENERAL_NAMING: referenced additional checks ds_0055,
ds_0080
misra_slsf_018_b: New check parameter CreateFindingEmptySignal for
mcheck_misra_slsf_018_b_1 and mcheck_misra_slsf_018_b_2.
Bug Fixes
jc_0451: The check was aborted when the sign combinations ‘*=’ ‘/=’
or ‘^=’ were used in Stateflow transitions, due to a problem while
splitting the transitions text. This has been fixed by adding the
mentioned sign combinations to the possible cases. (#4796)
jc_0481: The check was aborted in 2 scenarios. First, when the model
could not be set to compile mode. In this case, the check now gives a
warning message. Second, when there were hard equalities with the
boolean values true or false in Stateflow conditions (i.e.
[variable_a==true]). This has been fixed. (#4795)
na_0013: The check did not report a failed result when Stateflow
conditions had more than one line. The check has been fixed so now it
handles the suspension points properly when splitting the string of
Stateflow conditions. (#4788)
ds_0100: The check erroneously gave warnings for Sum blocks while
investigating the data type of the input signal through a Bus Creator,
Bus Selector, Mux, or Demux combination. This has been fixed. (#4762)
misra_slsf_027_ab: The check was being aborted due to an incorrect
handling of the function ‘cellfun’. This has been fixed. (#4754)
db_0110: In case of masked Simulink blocks, the check did not
analyze if the mask parameters were specified as tunable. The check
now analyzes each tunable parameter of an unmasked block and each
tunable mask parameter of a masked block. (#4747)
db_0125: The check was aborted in some cases because the linkaction
caused inconsistencies in the code. The linkaction has been
deactivated to fix this. (#4727)
jc_0231: The check did not report a failed result because the names
of the Simulink objects were not correctly obtained and cleaned. This
has been fixed. (#4726)
db_0110: The check gave a fail when the ‘Accumulator Data Type’ of a
Sum block was set to ‘fixdt’, even if the check was supposed to ignore
standard block settings. This has been fixed. (#4695)
misra_slsf_048_g: The check did not work as expected since the
string ‘i’ was interpreted as a complex number. This bug has been
fixed for the string ‘pi’ as well. (#4660)
sdt_sc006: The check was aborted because of the incorrect handling
of negative variable values. This has been fixed. (#4652)
ds_0105: The check was aborted due to a missing variable
initialization. This has been fixed. (#4649)
misra_tl_5_10: The check gives a Review finding if the
floating-point option of Custom block cannot be analyzed. (#4647)
tl_pr_20060404_06: The check was aborted because operands to ‘or’
and ‘and’ operators must be convertible to logical scalar values.
Also, constant blocks can have a vector value inside. The issue was
fixed. (#4645)
mes_is_0011: The check was aborted when no transition action
existed. The issue was fixed. (#4631)
misra_slsf_008_b: Abort in check due to MES internal utility
function to mes_getOutputDataInfo. The issue was fixed. (#4594)
jc_0521: The check gave a false positive for graphical functions
used in conditional statements. The issue was fixed. (#4590)
db_0143: The check now identifies blocks with a library link
correctly and also analyzes the topmodel. (#4583)
jc_0451: The check was aborted when input/output signal datatype was
inherited from Simulink. The issue was fixed and the result is now
Review. (#4571)
ds_0056: The check was aborted if subsystems were commented out. The
issue was fixed. (#4570)
V4.2.0 31-03-2017
Guidelines, Checks, and Documents
Support of review process for guidelines that require a manual
review (BETA)
A new generic check (mcheck_mes_sl_generic_0001) provides
functionality to support your manual review process for Simulink
blocks. The use of guidelines that are not automatically checkable and
require a manual review are now supported by MXAM. Due to
parametrization at guideline level, the check can be configured to
report a finding of result type ‘review’ e.g. for the model, all
subsystems, or specified blocks depending on the guideline
specification. These findings can be used to navigate into the model,
review the model part regarding the guideline aspect, and use
annotations to document the developer’s/reviewer’s decision. This
check is referenced by the following guidelines:
db_0040
db_0115
db_0116
db_0144
In the future, we plan for this check to be referenced by all
guidelines that require a manual review.
TargetLink 4.2 Support
The Vector Concatenation block is handled in the data flow analysis
of the checks as this block is now supported by TargetLink.
mes_cgtl_9002: Updated TL_ParameterList.xlsx according to TargetLink
4.2.
New Checks
mes_sl_generic_0001: Generic Review Check for Simulink Blocks
mes_cgtl_4106: Assertion Signals in Model Verification Library
(referenced in Guideline TL_RULE_MODELVERIFY_LIB_ASSERT_SIGNAL,
document dSPACE Modeling Guidelines 4.0.3)
mes_cgtl_4107: Simulink Function-Call Subsystems in a Stateflow
Chart (referenced in Guideline TL_RULE_STATEFLOW_SIMULINK_FUNCTION,
document Modeling Guidelines for dSPACE TargetLink 4.0.3)
mes_misra_slsf_052_b: State Labelling - State Name and Data Items
(document MISRA AC SLSF 1.0)
Changes (compatibility considerations)
Improved bus support:
Buses can be created as a variable and type definition in the Data
Dictionary, thus the verification of variables and the data flow
analysis have been adapted in the checks to support this construct.
Buses can have class default while simultaneously having a data type
and scaling defined. This is handled in the data flow analysis now.
misra_slsf_041_a: The check analyzed the position of blocks in a
graphical way; this has been changed, as the main aspect of the
guideline is to verify whether boxes are only used for text
(annotations).
db_0110: Corrected name of Parameter
MAAB.db_0110.AllowedDocumentationBlocks and changed definition. Now
several documentation blocks can be given by a name value pair.
(#4438)
Bug Fixes
misra_slsf_024_a: The check reported a failed result for
intermediate layers of TargetLink subsystems and analyzed the content
of library blocks. These blocks are now ignored. (#4251)
ds_0028: For older TargetLink versions, the check result was passed
for the ‘Reshape’ and ‘Permute Dimension’ block due to an incorrect
evaluation of the currently used TargetLink version. (#4372)
sdt_sa004_b: The property ‘zeroindex’ of the Simulink
MultiportSwitch was not extracted for processing the data type of a
control input to a MultiportSwitch. Thus the range of the control
input was not evaluated correctly and the check result was passed.
This has been fixed now. (#4393)
jc_0451: An incorrect concatenation of messages caused an abortion
of the check if only one finding was reported. Further, a review
result has been added if the Stateflow data type is set to ‘Inherit:
Same as Simulink’. (#4571)
V4.1.0 31-12-2016
Tool Framework
Rerun multiple checks in the report perspective to see repaired
Improvements
A rerun for multiple checks can be executed in the Report Document
Navigation view. Any element in the document can be selected to rerun
all checks below the selected element. All settings are applied as set
in the original run.
New powerful search syntax for library browser views to quickly
find documents, guidelines, and checks
The new search syntax is based on the Apache Lucene search engine that
provides powerful search algorithms:
phrase queries, wildcard queries, proximity queries, regular
expression queries, fuzzy queries and more
fielded searching (e.g. ID, Title, Status, …)
operators: AND, OR, NOT, +, -
Example query: Search guidelines in MISRA libraries that belong to ISO
26262 table 1.1e and that contain 3 digits in the ID.
Syntax: Library:MISRA AND ISO\ 26262-6\ Mapping:T1.1e AND
ID:/.*[0-9]{3}.*/
Loading MXAM reports in all MXAM versions >= 4.0
Downwards compatibility for MXAM reports (.mxmr) to open reports that
were created with an older MXAM version in the respective latest MXAM
version (>= version 4.0).
Identifying Stateflow elements for highlighting and annotation mapping
Using the persistent SID available in newer MATLAB versions to
highlight and identify Stateflow elements throughout sessions. Former
Stateflow ID’s are volatile and only valid as long as a model stays
open.
Using the persistent SID for Simulink and Stateflow elements for a
unique mapping between finding and annotation.
Improved usability for guideline document editor
The document editor has been re-structured to improve usability and
performance. All operations to edit document properties, add chapters
and guidelines etc. are now available using the context menu of the
document tree. The tabs on the right-hand side are removed which
improves the performance when selecting a tree element.
Filter relevant project guidelines
New filter ‘Show Selected Guidelines Only’ in Project Guidelines
perspective to see only relevant guidelines that are selected for the
analysis.
Improvements
New option in report export wizard to enable or disable opening the
generated report file.
Result details for passed checks are no longer shown in the compact
HTML/PDF report so that only relevant information requiring action is
displayed.
An evaluation information is displayed in the report header if an
evaluation license is used.
MATLAB: A warning is raised for conflicts within the MATLAB search
path with different MXAM versions.
Bug Fixes
Guidelines, Checks, and Documents
New Guideline Property for ISO 25119 Mapping
Mapping of the guideline to the respective category as defined in ISO
25119-3 Table 3. MES suggests a mapping for guidelines as part of the
original distribution.
MATLAB 2016b Support
Adaption of mes_preprocess as nargin is not supported in scripts
anymore. If customer checks are used with MATLAB 2016b, the check
implementation must be adapted by adding ‘d_nargin = nargin’ before
calling mes_preprocess. (compatibility considerations)
Legacy Simulink library ‘simulink_need_slupdate’ is handled.
misra_slsf_016_a/b: PreeLookup Table block can handle bus signals,
thus this block is allowed to be used with bus signals.
mes_cgec_9004: Added new ‘Configuration Parameter’ considerations to
EC_ParameterList.
New dSPACE TargetLink Checks
mes_cgtl_4103: No Support for Mealy or Moore State Machine Types
(referenced in Guideline TL_RULE_STATEFLOW_MEALYMOORE_CHART)
mes_cgtl_4104: No Output initialization When Chart Wakes Up
(referenced in Guideline TL_RULE_STATEFLOW_OUTPUT_CHART_WAKEUP)
mes_cgtl_4105: No Chart Execution with Super Step Semantics
(referenced in Guideline TL_RULE_STATEFLOW_SUPERSTEP_CHART)
Changes (compatibility considerations)
ds_0079_c: Added a check parameter ‘dSPACE.IgnoreHiddenBlockNames’
to ignore the hidden block names and ‘dSPACE.CaseSensitiveAnalysis’ to
perform a case sensitive analysis.
misra_slsf_054_a: Changed result type to ‘review’ and default value
of parameter
MISRA_SL_SF.misra_slsf_054_a.MaxDistBetweenTransitionAndLabel to 30.
misra_slsf_026_a and misra_slsf_026_b: Modified check parameter
‘BlocksWithoutCalibrationData’. User can define the blocks to be
ignored giving blocktype and masktype as reference now. (#4160)
misra_slsf_026_c, jm_0010_a: Added check parameter
‘CheckEmptySignalNames’ to ignore empty signals. (#3163, #4167)
misra_slsf_026_b: Added Parameter ‘BlocksToCheck’, to specify the
blocks to be checked. Default value is set to ‘all’.
Bug Fixes
misra_slsf_029_be: Removed checking of crossings with blocks, as
this is handled by misra_slsf_029_c. (#4098)
sdt_sc005 and misra_slsf_027_ab: Restricted the findings to selected
model/ subsystem level. When source and destination, both are out of
selected system, the findings are ignored.
ds_0100, misra_slsf_008_b and misra_slsf_016_d: If a variable is in
the field of a block, used in a source block of a signal handled in a
mux block, the check was aborted. This has been fixed. (#3638)
ds_0079_c: Removed double check of signals and ports. (#4152)
misra_slsf_024_a: Library blocks were reported as a failed if they
were located on the toplevel (e.g TL Main Dialog). This has been
fixed. (#4251)
V4.0.1 11-11-2016
Tool Framework
Improvements
When loading reports in ‘continue work’ mode, opened models will be
kept open after the report has been loaded.
MATLAB: Improved handling of MXAM paths within MATLAB. Preset paths
will be kept on closing of MXAM.
Changed result aggregation for checks with findings of type
‘Inapplicable’. A check with ‘Inapplicable’ findings has the result
‘Passed with Infos’.
Improved user interface for ‘Customize Check Parameter’ dialog and
‘Create new guideline/check/document’ dialog.
Improved logging behavior.
Bug Fixes
Guidelines, Checks, and Documents
Changes
Bug Fixes
ds_0029: The check caused an aborted if the output data type has not
been analysed correctly. This can have multiple causes. To avoid the
aborted of the check, a warning is raised for the single block if an
error occurs, but the check is not aborted (#4054).
misra_slsf_008_b, sdt_sc004_b and sdt_sc006 caused an aborted if a
matrix signal with min/max values has been analysed. This has been
fixed (#4135).
jc_0231: The check result was aborted with the message ‘Saturate
block does not have a parameter named ‘SrcBlockHandle’. This has been
fixed (#4146).
jc_0281: Corrected name of parmeter
jc_0281.LabelSignalLinesConnectingReusableSubsystem.
V4.0.0 01-10-2016
Guidelines, Checks, and Documents
New Guideline Documents
The ‘MES Guidelines - Collection of Best Practices’ document
contains new guidelines regarding model configuration, naming
conventions and other modeling standards. The document will be
expanded continuously.
The ‘Modeling Guidelines for dSPACE TargetLink - Version 4.0.3’
contains all guidelines of the official dSPACE TargetLink guidelines
document in version 4.0.3.
New MES Checks (only available in Functional Safety Solution)
mes_slsf_9100: Naming Conventions.
mes_slsf_2102: Usage of UnitDelay and Memory blocks.
mes_slsf_3106: Avoid Global Stateflow Functions.
mes_cgtl_4102: Data Type Conversion Block in TargetLink Models.
mes_cgtl_4101: Tolerance Value of TargetLink Constant and Gain
Block.
mes_cgtl_4201: Consistency of TargetLink and Simulink Data Types in
TargetLink Blocks.
mes_slsf_9003: Consistent Stateflow Chart Properties.
Guideline ID Changes
mes_sltlec_001 to mes_cgec_9004.
mes_sk_002 to mes_cgtl_9002.
mes_sk_001 to mes_slsf_9001.
Bug Fixes
mes_sltl_002, sdt_sc002, jc_0481: Each check compared the data type
of the Stateflow input even if the option ‘createinputvariable’ is not
set. A util function has been adapted to consider the option
‘createinputvariable’ in Stateflow inports. If this option is enabled,
the TL data type of this port is taken. If the option is disabled, the
data type of the inport’s source is taken (#3526).
sdt_sc001: The check was aborted if the signal dimension differs
between the source (Mux) with vector signal and destination block
TargetLink Inport, whose dimension is not adapted to the incoming
vector signal. This is shown as failed now (#3955).
na_0038: Modified the string concatenation of an array to avoid a
warning in the command window. Warning appears in latest versions of
Matlab (#3748).
db_0146: Adapted the check to consider the coordinates of the model
window of new Matlab version (#3791).
misra_slsf_053_b: There could be a junction and transitions
overlapping on this junction within a state chart. This case was not
considered before. The check takes care of such situation now (#3748).
misra_slsf_053_b: The crossing of an inner transition with the
parent state will not report a failed result any more (#3969).
misra_slsf_037_h: The check reported a failed result if the type
property of a Stateflow data is set to ‘inherit’ with scope ‘Data
Store Memory’. This will be ignored now (#3743).
mes_tl_001: Adapted the check to extract signal names and
information from TargetLink bus outport for Matlab version R2010b and
below (#3770).
sdt_sc006: The check traced the signal back over Data Store blocks.
Now a stopping condition for Data Stores has been added such that
these are identified as signal source (#3753, #3707).
sdt_sc007_b: An incorrect concatenation of logical and scalar values
caused an aborted. This has been fixed (#3792).
misra_slsf_012_a, jc_0141: A check abort has been raised due to a
wrong initialization. This has been fixed (#3832).
sdt_sc002_b and sdt_sc002_c: The util function
‘mes_evalBlockParamValue’ is now used to evaluate the size of a
variable in base and model workspace to prevent a check abort (#3995).
na_0002: Blocks (Relational, Logical etc) which gives boolean
outputs, are checked if they are connected to a block which can
receive boolean input. In case they are connected to inport (within a
subsystem), the blocks are ignored from checking (#3954).
Fixed several problems for referenced models that are TargetLink
components (#3780, #3993).
V3.9.1 20-09-2016
Improvements
V3.9.0 30-06-2016
Tool Framework
Improved management of annotations in Report perspective
A new Annotations view in the Report perspective gives an overview
of all annotations that map to the selected report. The view allows to
search, add, edit, and delete annotations. A filter in the view menu
can be enabled to display and clean-up unmapped annotations.
Supporting a peer review, multiple annotations for one finding are
now displayed in the Finding Details view.
New icons for annotations.
New overlay icons are displayed in the Document and Artifact
Navigation view to mark elements with annotations.
Improved storing of annotation definition files next to the analyzed
artifact.
Extended project settings to configure annotations
MATLAB Adapter
Extended customization of MATLAB batch analysis to support the
configuration of multiple runs and to export different report formats.
See example mxamapi_batch_example_run.m. (compatibility
considerations)
New batch hook functions can be used to post-process report results.
Improved connectivity between MXAM and MATLAB. The MXAM client and
MATLAB can be started separately and can be connected by calling
‘mxam’ on the MATLAB command line.
A check can set a flag to abort the analysis and cancel remaining
checks. This can be used when implementing a check that examines
preconditions for the analysis. For details see the help for advanced
check implementation in the developer user guide.
ASCET Adapter
Update to ASCET Adapter 4.8.1. See adapter release notes for
detailed information.
Multiple images for one finding to mark elements of the different
hierarchies.
Images for findings can now be displayed for an offline analysis
(analyzing axl files without using the ASCET database) showing an
abstract picture of the hierarchy.
The adapter can now check whether an ASCET component is under
version control (SCM).
New Java hook functions can be used to post-process results.
Improvements
The Artifact Chooser remembers the last directory to set it per
default in the directory browser of the File artifacts tab. It also
allows to enter or paste a directory path.
The wizards to create a new Guideline, Check, Guideline Document,
and Parameter Definition remember the settings throughout sessions.
The Export Guideline Document wizard has a new table to sort and
filter documents by ID, title, and version.
The XML report types have been changed: (compatibility
considerations)
Bug Fixes
MXAM paths that were already added to the MATLAB path will no longer
be removed during shutdown. (#3431)
Fixed parameter handling for MATLAB checks with parameter values
that contain special control characters. (#3453)
Fixed MATLAB batch analysis to handle file artifacts. (#3481)
Fixed MATLAB batch analysis to work with project-specific libraries.
(#3491)
Fixed filtering of blocks in MATLAB checks to ignore Simulink blocks
inside of Simulink subsystem library blocks and TargetLink blocks
inside of TargetLink subsystem blocks. (#3489)
Disabled the Select/Deselect All commands in Project Guidelines view
if project settings do not allow selection changes. (#3517)
An UI error has been fixed that occasionally showed an error pop-up
window in the Report perspective if the top level report was selected.
(#3660)
Some checks caused a MATLAB crash when accessing a bus struct. This
has been fixed. (#2814,#3454)
Guidelines, Checks, and Documents
New Checks
Changes
ds_0079_c: Check has been adapted such that the TargetLink DD items
like ‘Variable’, ‘Class’, and ‘Scaling’ are also checked for forbidden
keywords. (#3374)
tl_pr20060404_06: New implementation and guideline description for
tl_pr20060404_06 according to the changed version of the dSPACE
TargetLink Known Problem report. (#3520)
db_0042_b: Rework of the check. The check considers whether a
duplicated Inport is used on the toplevel (failed) or in a sublevel
(review) according to the guideline.
na_0002: Check parameter ‘BlockAcceptingLogicalAndNumericalSignals’
adapted to include enable, trigger, and Ifaction.
Bug Fixes
sdt_sc005: The check reported false positives for bus signals. The
correct handling of bus creator solves this issue. (#3518)
sdt_sc002, mes_sltl_002: If the option ‘create input variable’ is
not set, the check still analyzed the scaling of the data item. The
check verifies now the datatype and scaling of the preceding block, if
this option is not set. (#3526)
sdt_sc003: The source of a merge block was incorrectly identified as
vector which caused a failed result. This has been fixed by improving
the identification algorithm of vectors. (#3519)
sk_006: Simulink Inports in a TargetLink Function issued a failed
even if the signal is a trigger or enable signal. Simulink Inports
which are inputs to a triggered or enabled subsystem will be ignored
now. (#3478)
sdt_sc007_a, sdt_sc007_b: An incorrect concatenation caused an
aborted of checks. The concatenation problem is fixed. (#3637)
misra_slsf_030_abc: Check adapted for new co-ordinates of new MATLAB
version model window. (#3516)
misra_tl_6_7: Usage of a Lookup-Table in a loop issued an incorrect
computation of the range for the input and output range of this lookup
table. This is fixed. (#3420)
misra_tl_1_2_b: Analyzing a single element caused an aborted. This
is handled now correctly. (#3447)
misra_tl_5_10: The check was aborted for the new custom code block
in TargetLink 4.0. This guideline is not applicable to the new custom
code block. A review result is issued now, as the compliance to this
guideline must be done manually. (#3469)
misra_tl_3_2, misra_tl_3_3, misra_tl_7_5, misra_tl_7_6: The check
reported a failed result that a class could not be found in
combination with replaceable data items. If there is no mapping of
replaceable data items found in DD/pool/Variable, they are ignored
from checking. (#3512)
misra_tl_5_8: Evaluation of a check parameter has been corrected.
(#3469)
mes_periprocess: The filtering routine has been adapted, such that
blocks of type ‘Compare To Constant’ and ‘Compare To Zero’ are not
filtered anymore. (#3489)
V3.8.0 31-03-2016
Tool Framework
New Simulink:sup:`®` menu extension to quickly execute an analysis
Run analysis from the Simulink® context or tool (Analysis)
menu on the current model or subsystem.
A new hook function is available to configure the analysis. See
details in \dochooksmxam_hookSLMenuConfiguration.m
Improved report export
New option in the export wizard allows to select and overwrite an
existing report, e.g. if saved in a version management system.
XML report has been extended with global summaries for guidelines,
checks, and findings.
XML report has been extended with the overall result for each
analyzed artifact.
Improved project configuration of default behavior to simplify
the workflow for users
Allow or forbid the user to change results of check findings.
Exceptions (Whitelist/Blacklist) can be added for specific checks.
New token %SYSTEM% for the default report name, which is replaced by
the name of the analyzed model or subsystem.
Option to pre-configure a sub directory to store the report next to
or relative to the analyzed artifact
Improved layout of the project settings page.
Artifact-based reporting for ASCET to support a faster module review
Improvements
Annotations for checks that are used in different guideline
documents (e.g. for different model reviews) will now be reused. The
user does not need to comment on the check findings more than once.
These annotations will be mapped to the same check independently of
the related guideline document.
Improved the parameter table in the Detail view for guidelines and
checks to display overridden parameter values.
MATLAB: Improved performance of MATLAB analysis.
MATLAB: Changed default value for parameter
Global.FilterConfigurableSubsystems from 3 to 0. This will improve the
time consumption of the analysis and won’t affect most users, because
configurable subsystems are rarely used.
Bug Fixes
Fixed the tear down of MXAM by removing remaining MXAM paths from
the MATLAB search path.
Update of ASCET adapter to version 4.6.1. For details see release
notes in the ASCET adapter directory.
Fixed handling of special characters in names of MATLAB subsystems.
Fixed handling of selection and expansion states in guideline
document trees. (#3313)
Fixed a bug in handling of modified, unsaved projects. (#3352)
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.
Guidelines, Checks, and Documents
MATLAB 2015b and TargetLink 4.1 Support
Support of new TargetLink Signal Conversion block.
Support of bus signals in Stateflow.
New properties of the Integrator block are supported.
New syntax of Simulink fixed-point data types is supported.
New Guideline Document
The document ‘MES Modeling Guidelines for Implementation with Embedded
Coder’ addresses user of the Embedded Coder for code generation and
provides a preselection of guidelines.
New MES Checks (only available in Functional Safety Solution)
mes_sk_001: Configuration Parameters for Simulink
mes_sk_002: Advanced Parameters and Configuration Settings for
TargetLink
mes_is_0002: User-specified State/transition Execution Order
Changes Documents and Checks
Version 2 of the MXAM Starter Set document. See document history in
MXAM.
sdt_sc006: Rework of the check. Added parameter
SDT.sc006.BlacklistSourceBlocks to exclude specific source blocks. An
repair action for signal propagation has been implemented.
ds_0028: Changed parameter checkds0028.AllowedBlocks: Added block
‘Sqrt’ according to guideline.
na_0002: Changed default parameter
MAAB.na_0002.BlockRequiringBooleanSignalAsInput: Removed trigger of
Ifaction subsystems. Changed default parameter
MAAB.na_0002.BlockHavingBooleanSignalsAsOutput: Removed If block.
na_0005: Changed default parameter MAAB.na_0005.PortNameVisibility
from ‘off’ to ‘on’.
misra_slsf_027_cd, misra_slsf_027_e, misra_slsf_027_h: Defined
existing parameter ‘MISRA_SL_SF.BasicMaskedBlocks’ as shared
parameter.
misra_slsf_038_a, misra_slsf_038_b: Defined existing parameters
‘MISRA_SL_SF.OperatorClasses.Bit’,
‘MISRA_SL_SF.OperatorClasses.Logic’,
‘MISRA_SL_SF.OperatorClasses.Rel’, ‘MISRA_SL_SF.OperatorClasses.Add’,
‘MISRA_SL_SF.OperatorClasses.Sub’, ‘MISRA_SL_SF.OperatorClasses.Mul’,
‘MISRA_SL_SF.OperatorClasses.Div’ and
‘MISRA_SL_SF.OperatorClasses.Ignore’ as shared parameters.
misra_slsf_053_c, misra_slsf_054_a: Defined existing parameter
‘MISRA_SL_SF.ReportNonlinearTransitionsIndividually’ as shared
parameter.
Bug Fixes
sdt_sc004_c: Incorrect initialization of variables caused an
aborted. This has been fixed. (#3310)
jc_0201: Single lines without source and destination caused an
aborted. This is handeled now. (#3286)
db_0110: A failed result occurred for trigger ports. Trigger ports
are ignored now, because they do not have any tunable parameters.
(#3285)
jc_0221: An aborted was caused by the function
mes_block_has_businport. The util function has been adapted for the
switch case block. (#3357)
misra_slsf_020_abcd: The global parameter ‘followlinks’ did not work
properly with this check, because ‘followlinks’ was hardcoded in the
check to ‘on’. (#3228)
misra_slsf_006_b: Unavailable properties have been reported. The
existence of block property field is checked now, before the value can
be accessed. (#3238)
misra_slsf_027_j: Single lines without source and destination caused
an aborted. This is handled now. (#3288)
misra_slsf_055_b: The check could not detect if the state action
keyword, appeared on the same line as the action declaration before.
(#3290)
misra_slsf_027_e: Incorrect finding in reusable subsystem. Detection
of blocks in loops has been adapted. (#3333)
V3.7.2 04-03-2016
Tool Framework
Improvements
Bug Fixes
V3.7.1 22-02-2016
Tool Framework
Improvements
MATLAB: Improved handling of model compilation during analysis. The
model will be set into compile mode only if required by one of the
checks. Setting the compile mode is reduced to a minimum in case a
check needs to terminate the compile mode during analysis. MXAM now
remembers if the model is not compilable and does not try it again
throughout the analysis. The original compile state will be restored
at the end of each analysis.
Improved information given in case of licensing errors.
MXAM checks implemented in Java can now be configured to require a
license.
Minor UI improvements.
Bug Fixes
Fixed handling of check utility functions for check libraries that
are located in a custom directory and added in the ‘Libraries’ section
of the project settings. (#3203)
Fixed the display of images in rich-text properties for guidelines
and checks if they are located on a network resource with an UNC path
(Server URL without network drive). Use the ‘Add Image’ button in the
rich-text editor to add images. (#3214,#2845)
Fixed display of additional name-value pairs in the Finding Details
view.
MATLAB: Fixed the ignore-list handling for mask- and block types.
Ignore-list entries for mask- or block types matched only for findings
that are related to a block with the exact same mask-/block type.
Findings related to blocks that are located underneath a subsystem
with the defined mask-/block type were not ignored. (#3240)
ASCET: Fixed handling of dependency loops.
Fixed broken links in the user guide.
Guidelines, Checks, and Documents
Bug Fixes
jc_0481: A missing initialization of a struct caused an aborted,
this has been fixed. (#3195)
jc_0141: Failed results were issued for missing entries in the AFS
of the block, which is not part of the guideline due to the changed
behavior of the MATLAB function boolean(). This has been fixed.
(#3248)
V3.7.0 15-01-2016
Guidelines, Checks, and Documents
New Functional Safety Checks (available in Functional Safety Solution)
Guideline sdt_sc007 - Definition TargetLink Function Interface - with
following checks:
sdt_sc007_a: Definition TargetLink Function Interface - Inports
sdt_sc007_b: Definition TargetLink Function Interface - Outports
mes_sk_006: In- and Outports in TargetLink subsystems
New TargetLink Known Problems Checks (available in Functional Safety
Solution)
New MISRA Simulink/Stateflow Checks
misra_slsf_045_e: Condition-Actions, Transition-Actions and
State-Actions - Read and Write on Transitions
misra_slsf_045_f: Condition-Actions, Transition-Actions and
State-Actions - Number of Variable Modifications
misra_slsf_045_g: Condition-Actions, Transition-Actions and
State-Actions - Usage of Condition-Actions and Transition-Actions
misra_slsf_044_b: State-Actions - Entry, Exit (Review check)
misra_slsf_044_c: State-Actions - Flow-Charts
Changes
misra_slsf_038_b: Checking of the option ‘Enable C-bit operations’
has been removed, because this is not part of the guideline.
Changed ID misra_slsf_007 to misra_slsf_007_a
Changed ID misra_slsf_019 to misra_slsf_019_abc
Changed ID misra_slsf_020 to misra_slsf_020_abcd
Changed ID misra_slsf_030 to misra_slsf_030_abc
Changed ID misra_slsf_046 to misra_slsf_046_a
Changed ID misra_slsf_047 to misra_slsf_047_a
Bug Fixes
jc_0221: Signal Propagation symbols ‘<’ and ‘>’ are not reported as
wrong chars anymore. (#2898)
misra_slsf_037_b: The check reported any local data item as a
failed. Now the check analyzes additionally if data items are used
more than once. (#3091)
misra_slsf_042_e: Crossing has not been detected correctly. Adapted
Tolerance such that most cases should be covered. (#2874)
misra_slsf_017_a: Unconnected blocks in variant subsystems caused a
failes result. These will be ignored now. (#2957)
tl_pr20051017_01: Incorrect handling of shift operations << and >>
in Statflow caused an aborted. This has been fixed now. (#2866)
ds_0047: Updated check/guideline description: is only relevant for
MATLAb <2010. (#2862)
ds_0100: Code has been modified to support targetlink blocks.
(#2863)
ds_0027: If the table data is given by an inport to the Lookuptable
than the check caused an aborted if the size cannot be derived
directly. This will issue a warning now. (#3017)
misra_tl_5_8: Incorrect handling of the treshold ‘0.5’ has been
fixed. (#2939)
misra_tl_5_8 : Updated check to execute on selected subsystem and
not on the entire model itself. (#2976)
V3.6.3 25-11-2015
Tool Framework
HTML Reporting
Bug Fixes
V3.6.2 18-11-2015
Guidelines, Checks, and Documents
ASCET checks
V3.6.0 30-09-2015
Tool Framework
BETA: New artifact-based reporting supporting a fast model review
New ‘Artifact Navigation’ view with an artifact-based tree structure
to filter findings by their location in the model structure. Selecting
a MATLAB subystem shows the findings that occurred in this subsystem.
The ‘Artifact Navigation’ view displays the MATLAB model structure
with the following structural elements: model root, subsystems,
library blocks, charts, and states. Each element has a context menu to
open the element in MATLAB. Other artifacts, such as ASCET components,
display only those trees of structural elements where findings
occurred.
New result overview of the guideline compliance for each selected
artifact level (e.g. for MATLAB subsystem, chart, state).
Re-design of HTML and PDF report with an extended quality overview
to highlight critical areas
Re-designed layout of the HTML and PDF report.
New heat map overview highlighting guideline violations as a matrix
of checks and artifacts. The heat map shows the total number of
findings in the color code of the respective check result. Links are
added to the heat map to navigate directly to the guideline
description, check description, or list of findings.
New overview of the guideline document structure to see the full
expanded document structure with the result of each guideline and
check, and the aggregated result of each chapter level. Links are
added to the document structure to navigate directly to the guideline
description, check description, or list of findings.
Findings of the check are grouped by artifacts and result types.
New report header with analysis information and additional
information added by custom hook functions.
Additional information about the program execution, the project
configuration, and user changes.
New links in the HTML report for MATLAB findings to open the element
in the MATLAB model. Requirement: The report must be opened in the
MATLAB browser and MXAM must be initialized within MATLAB.
Re-design of Excel report to provide a review template for model review
New ‘Project Overview’ sheet with details of the analysis.
New ‘Result Overview’ sheet with a summary chart of the guideline
compliance, check compliance, and number of findings.
‘Findings’ sheet with a list of all findings.
Report annotations stored next to the artifact to improve the
handling in configuration management systems
Report annotations made by the user to justify guideline violations
can be stored next to the analyzed artifact. The annotation wizard has
three options when storing annotations: in an existing annotation
definition file, in a new annotation definition file, or in an
annotation definition next to the artifact.
Quick-edit for guidelines, checks, and documents
A new context menu in the library browser has been added to add
co-authors and a reviewer for a multiple selection of guidelines,
checks, and documents. The person must be added to the list of
co-authors of library content before adding the person to the library
content.
MATLAB function to start an analysis out of the box
New function ‘mxam_start_analysis.m’ to execute an analysis out of the
box. This function opens the client window (GUI), executes the default
project on the current system (gcs) and displays the findings in the
report perspective. The default project of the Functional Safety
Solution and MISRA Compliance Solution executes the Starter-Set
guideline document. The function can also be parameterized with another
project configuration and model.
Improved ASCET Analysis
New adapter preferences for the display of ASCET projects and
components in the artifact selection wizard: ‘List projects’ and ‘List
referenced components separately’.
New adapter preference to optimize the memory consumption of batch
runs with many artifacts: ‘Clear artifact cache’.
The fetching of models from the ASCET database is optimized.
Improvements
Changing MXAM adapter preferences no longer requires a restart of
MXAM.
Views of the report perspective have been renamed and re-ordered.
Improvements to the user interface
Bug Fixes
Fixed communication between MXAM and MATLAB, in case a custom proxy
was set in MATLAB or in the host system. (#2758, #2562, #2669)
Out of memory error when exporting guideline documents (#2639)
The file name of the exported report has been fixed when a MATLAB
subsystem was executed. The pattern for the artifact name in the file
name is [modelname]_subsystemname. (#2822)
Guidelines, Checks, and Documents
TargetLink 4.0 Support
Support of new Simulink blocks: Matrix Concatenate, Permute
Dimensions, Reshape.
Support for Look-up Tables: The table data can be specified by an
additional table data input port.
Improved Scaling invariant system for charts and graphical
functions.
Additionally block properties of the Assignment and Selector block
are supported.
New MES Functional Safety Checks (available in Functional Safety Solution)
New MISRA Simulink/Stateflow Checks
New MAAB Checks
New Critical TargetLink Known Problems Checks (available in
MXAM DRIVE Functional Safety Solution)
Changes
sdt_il001 has been splitted into:
sdt_il001_a: Avoidance of Duplicated Port Signals - Source Signal
sdt_il001_b: Avoidance of Duplicated Port Signals - Shadow Inports
splitted misra_slsf_029_af into (#2753)
misra_slsf_029_a: Signal and Bus Line Positioning - Orientation
misra_slsf_029_f: Signal and Bus Line Positioning - Branching
misra_slsf_009_d: Repair action has been implemented. (#2745)
Bug Fixes
sdt_sc002_e: Boolean variables will be ignored now for the analysis
of the range. (#2535)
sdt_sc004_c: Interpretation of the range has been improved. (#2575)
sdt_sc001: The check issued a failed result for comparing the LSB of
boolean signals. Boolean signals are ignored now. (#2687)
na_0001: Switch case Block has been added to the parameter. (#2667)
jm_0011: Check has been adapted such that pointers to variables
defined in the chart are passing. (#2685)
na_0009: Parameter has been adapted such that the Switch block is
ignored. (#2693)
na_0040: An entry in the global parameter Global.IgnoredLibraries
caused an error in the filter process. This has been fixed. (#2711)
db_0140: Check has been revised such that only values different from
the default values must be displayed. (#2691)
na_0030: The check issued a failed result for signal names, too.
Only bus signal names will be analyzed now.(#2738) - ds_0093/ds_0094:
Checks are only relevant for models not libraries, therefore libraries
are not checked. (#2824)
misra_slsf_025_b: Check has been revised such that the default size
of blocks is checked. (#2740)
misra_slsf_036_c: An endless loop occurred if the source signal of a
Stateflow input passed a loop. (#2525)
misra_slsf_013_b: Handled error of mes_getOutputDataInfo giving
warning if a data type cannot be determined because model is not
compilable.(#2551)
misra_slsf_036_a: Redefined variable name.(#2630)
misra_slsf_030: Changed hard coded keywords of lookundermasks and
followlinks such that global setting is applied.(#2621)
misra_slsf_055_d, misra_slsf_055_a, misra_slsf_050_e,
misra_slsf_045_c, misra_slsf_045_b, misra_slsf_045_a,
misra_slsf_044_a, misra_slsf_043_f, misra_slsf_043_d,
misra_slsf_042_e: An entry in the global parameter
Global.IgnoredLibraries caused an error in the filter process. This
has been fixed. (#2723)
misra_slsf_055_c: The check did not ignore semicolons in comments in
transition labels. This has been fixed. (#2686)
misra_slsf_026_c: The analysis of libraries by this check is not
meaningful, therefore warning is given if a library is analyzed.
(#2751)
misra_slsf_030: An internal error ‘Matrix dimensions must agree’
occurred. This has been fixed. (#2756)
misra_slsf_006_b: Internal warnings appeared if keywords have
changed in different MATLAB versions. The check now identifies the
correct keywords for the used MATLAB version. (#2739)
misra_slsf_016_c: Check has been adapted such that only names in
busses are checked, the source of the bus signal is no longer
considered. Performance has been improved. (#2741)
misra_slsf_036_a: Added exception handling. If source block cannot
be obtained (e.g. if it’s a library block that is not available) a
warning is given.(#2486)
misra_slsf_030: The check gave different results than db_0146. The
tolerance for the position has been adapted such that the checks give
the same result now. (#2737)
V3.5.1 30-07-2015
Tool Framework
Extended XML report to post process additional report information
Title of guideline documents added.
Information about user, date and time consumption added.
Applied ignore lists and annotation definitions added.
Additional information received by hook functions added.
User interface: improved performance & usability
Option to repair single element results added to context menu in the
Report Element List (Shortcut: CTRL + R).
Option to export the selected report added to the context menu in
the Report Navigation Tree (Shortcut: Shift + E).
Response time of the Report Element Description view reduced.
Response time of the Report Description view reduced.
Attributes of Checks and Guidelines are shown in a uniform HTML
layout.
Improved artifact selection
Support for older ASCET versions
Changes
Bug Fixes
V3.5.0 26-06-2015
Tool Framework
Project configuration
Annotations can be enabled/disabled in the project settings. If
annotations are disabled the user cannot create annotations in the
report. Annotations are enabled by default.
The permitted changes of result types for annotations can be
configured in the project settings. e.g. review to failed, passed;
failed to warning, passed, etc.
Report annotations to justify guideline deviations
New context menu and key bindings to easily create, modify, and
delete annotations.
Multi-selection in ‘Element Result List’ to create annotations for
several findings.
XML report export to post-process results
New XML export format to improve further automated processing of
analysis results. The XML includes sections with result summaries at
every detail level.
A schema for the XML report is located in \docschemas.
The detail level of the XML export is adjustable for a short,
compact, and full XML report.
Improvements
Updated Java to version 1.7. Users of the Java MXAM or check API
need to update to Java 1.7 or higher.
Added options to de-/select all checks and guidelines in the project
documents view.
New context menu and key binding in element result view to execute
the ‘open link’ action.
Allow/forbid changing the documents default selection within a
project
The priority of the result type ‘REVIEW’ can be configured in the
project settings. This will effect the aggregation of results in the
report.
Added a schema for ignore lists in \docschemas.
Descriptions in the report perspective have been improved.
A mouse over tool tip and the parameter description has been added
to the parameter table in the guideline and check detail view.
Changed user identification to be case-insensitive.
Improved handling of overflowing lines in exported reports.
Bug Fixes
When saving a project that already exists a warning is shown and the
user will be ask to cancel or continue saving the project file.
(#2369)
Guideline documents referenced by an opened MXAM project will be
updated, if the selection state of the original documents are changed.
(#2371)
Fixed that the same ignore-list cannot be added to the project more
than once. (#2374)
Custom libraries that are added to the search path are now
initialized in headless modes, e.g. for a batch execution within
MATLAB.(#2413)
Improved handling of library items with ‘public’ access. (#2401)
Global utility library will be loaded, even if the default library
search path is removed.
Guidelines, Checks, and Documents
New guideline document: MXAM Starter Set
The MXAM Starter Set provides you with a preselected set of best
practice guidelines that are already in use in many serial projects. The
MXAM Starter Set is designed to be a selection of guidelines that will
help you get used to working with MXAM and performing compliance
checking more effectively.
New MES Functional Safety Checks (available in Functional Safety Solution)
mes_sf_001: No Loops in Multi Segmented Transitions (Review check,
only available in MXAM DRIVE)
mes_sf_002: Variable Assignments in Transition Segments
mes_sf_003: Interaction between Parallel States
mes_sf_004: Freeness of Early Return Logic Problems
mes_sltl_001: Magic Constants in Constant Blocks
New Critical TargetLink Known Problems Checks (available in Functional
Safety Solution)
tl_pr20141118_001: Preceding Blocks of Merge Blocks
tl_pr20141002_002: Incorrect code for Discrete Transfer Function
block with non-zero initial state values
tl_pr20060404_06: Unintentional Optimization of Relational Operation
New MISRA Simulink/Stateflow Checks
misra_slsf_043_f: Transitions - Internal Transitions
misra_slsf_043_h: Transitions - Backtracking
misra_slsf_045_a: Condition-Actions, Transition-Actions and
State-Actions - Use of Entry
misra_slsf_045_b: Condition-Actions, Transition-Actions and
State-Actions - Use of Exit
misra_slsf_045_c: Condition-Actions, Transition-Actions and
State-Actions - Use of Exit and Entry
misra_slsf_050_e: Stateflow Window and Text Appearance - Comment
Delimiters
misra_slsf_053_k: Transition Positioning - Terminating Junction
misra_slsf_054_e: Transition Labelling - Braces
misra_slsf_054_h: Transition Labelling - Usage of Logical Operators
misra_slsf_055_d: State-Action Formatting - State-Action Duplication
Improvements
misra_slsf_020: The parameter definition has been changed such that
properties can also be ignored. (#2414)
db_0110: Added parameter ‘AllowedDocumentationBlocks’. In this
parameter documentation blocks can be defined. (#2220)
Bug Fixes
misra_slsf_036_a: The check issued an internal error if a dialog
variable of a masked subsystem was addressed. This has been fixed.
(#2280)
misra_slsf_009_d: TargetLink blocks are handled correctly now.
(#2429)
misra_slsf_054_d: An internal error was issued if more than one
transition action occurred. The check handles now more than one
transition action at a transition. (#2425)
misra_slsf_043_c: Empty transition labels issued an error, this has
been fixed. (#2423/#2438)
sdt_sc_006: The check reported failed results in the intermediate
level of TargetLink subsystems. These are ignored now. (#2281)
db_0129_c: An error ‘index out of bounds’ occurred. This has been
fixed. (#2339)
jc_0451: The check issued an internal error by referencing an empty
variable. This has been fixed. (#2427)
V3.4.2 08-05-2015
Features
Bug Fixes
V3.4.1 24-04-2015
Features
Bug Fixes
V3.4.0 31-03-2015
Features
BETA: MATLAB integration
MXAM can now be continuously integrated into your MATLAB tool chain
using the new MXAM batch analysis from the MATLAB command line. Run
your project configuration on several models within MATLAB to create
report documents. Please find more help on the MATLAB integration in
the MXAM UI menu item Help > Help Contents > User Guide: Use cases >
Analysis > Batch analysis
Added a configurable progress notification in MATLAB during batch
analysis.
Added several hook (callback) functions that enable the developer to
run custom code at certain points during the execution of MXAM.
The startup time of MXAM within MATLAB has been improved
significantly.
The startup routine in MATLAB has been improved and a new teardown
function has been implemented to start, stop and restart MXAM within
one MATLAB session.
The communication infrastructure between MXAM and MATLAB has been
re-designed.
Customizable and dynamic report names
Report names can be pre-configured by the project manager in the
project settings.
Report names can contain a placeholder for certain report
attributes, such as timestamp, username, artifact name. These
attributes are automatically substituted during report generation.
User choices made in the report export wizard will be stored for
later use.
Detailed documentation for MATLAB artifacts
To identify the analyzed artifact explicitly, the report contains
additional information for each artifact such as the absolute source
file, artifact version, creator, last modification date. The
information is displayed in the ‘Additional Information’ column of
the ‘Analyzed Artifacts’ table in the Report Overview.
The artifact documentation can be enriched with more details by
using custom hook functions.
Improvements
The button to execute an analysis is accessible from all
perspectives.
Improved the startup time of MXAM, especially in network
installation environments.
Improved the check parameter editor to show the default value when
overwriting the parameter value.
Improved the full-text search in the library browser and in
guideline documents. (#2058)
Continued editorial re-work of guidelines and check descriptions.
New MISRA Simulink/Stateflow Checks:
misra_slsf_004_a: Diagnostic settings
misra_slsf_006_c: Block Parameters - Numerical Values
misra_slsf_009_d: Block execution frequency and order - Sample Time
misra_slsf_012_a: Switch Block
misra_slsf_015_b: Vector and Matrix Signals - Creation of Matrix
Signal
misra_slsf_016_a: Busses - Creation
misra_slsf_016_b: Busses - Naming
misra_slsf_016_c: Busses - Contained Signals
misra_slsf_016_d: Busses - Operation
misra_slsf_016_e: Busses - Split up
misra_slsf_021_a: Annotation Appearance - Drop Shadow
misra_slsf_022_a: Model, Subsystem and Library Information
Appearance - General Information
misra_slsf_022_b: Model, subsystem and library information
appearance - Tool Information
misra_slsf_023_a: Simulink Block, Subsystem and Library Colour
misra_slsf_024_a: Simulink Block, Subsystem and Library Drop Shadow
misra_slsf_034_b: Chart Properties - Transition Execution
misra_slsf_037_c: Internal Data - Naming of Local Data
misra_slsf_039_a: States - Sub-States
misra_slsf_039_c: States - Hierarchy of Sub-Charts
misra_slsf_040_a: Parallel States - Top-Level
misra_slsf_040_b: Parallel States - Grouping
misra_slsf_042_a: Default Transitions - Super-State
misra_slsf_042_b: Default Transitions - One State
misra_slsf_042_c: Default Transitions - Top-Level
misra_slsf_042_d: Default Transitions - Unguarded Path
misra_slsf_042_e: Default Transitions - Crossings
misra_slsf_043_i: Transitions - Unconditional Transition
misra_slsf_044_a: State-Actions - During
misra_slsf_048_b: Stateflow Coding - Embedded MATLAB Block
misra_slsf_048_c: Stateflow Coding - C Code
misra_slsf_050_a: Stateflow Window and Text Appearance - Text Font
misra_slsf_050_b: Stateflow Window and Text Appearance - Text Size
misra_slsf_050_c: Stateflow Window and Text Appearance - Colour and
Style
misra_slsf_050_d: Stateflow Window and Text Appearance - Note Text
misra_slsf_054_b: Transition Labelling - Placement
misra_slsf_054_c: Transition Labelling - Conditions and Actions
misra_slsf_054_d: Transition Labelling - Actions
misra_slsf_054_f: Transition Labelling - Sub-Conditions
misra_slsf_055_a: State-Action Formatting - Order of State-Actions
misra_slsf_055_b: State-Action Formatting - New Lines for
State-Actions
misra_slsf_055_c: State-Action Formatting - New Lines for Actions
MISRA TargetLink Checks:
- #2199 misra_tl_1_2_b: Fixed linkaction for DD-objects. Improved repair
action.
Bug Fixes
MATLAB: Fixed an issue with resetting the state of artifacts after
analysis.
MATLAB: Fixed MXAM not to remove paths of check implementations from
the MATLAB path after execution if they were set manually before.
Fixed a minor bug in report generation which occurred with certain
findings. (#2163)
Fixed a rare bug with closing a library item editor.
Fixed a minor issue with resolving the search paths for MXAM
libraries. (#2168)
Fixed an issue with saving adapter preferences. (#2070)
MATLAB: Fixed minor issues with the “Open Element” link.
MATLAB: Fixed a bug with restarting MXAM while being connected to
MATLAB.
Corrected the links to referenced checks in the guideline detail
view. (#2203)
V3.3.2 26-01-2015
Features
Execution of Java Check implementations
Java Check implementations can be directly executed in a JVM environment
if prior MXAM Drive initializations have been done.
Execution of Check descriptions
A single Check description can be executed via the MXAM Drive API
without being structured in an MXAM project, guideline document, or
guideline.
Copyright attribute
A copyright attribute has been added to certain library items like
guideline documents, guidelines, and checks.
Performance of library item filtering
The performance of the library item ´full text filter´ has been
optimized.
Validation messages
If the selection of checks during analysis differs from the original
documents a Validation message appears in the MXAM report.
This message has been reworked.
Bug Fixes
V3.3.1 11-12-2014
Features
Minor improvements regarding stability of the license module.
V3.3.0 05-12-2014
Features
Web service compatibility
With the new web service plugin MXAM is now capable of handling remote
calls for selected functionality like opening and running projects and
retrieving report information. The web service operates in headless
mode as well as with the familiar user interface.
Web service plugin (optional)
The web service plugin enables remote access to the following
functionalities:
MATLAB artifacts
When accessing open models in MATLAB using the artifact dialog, you
can now select dynamic artifact tokens for the current system and
model. Those can be attached to your project and will be resolved
dynamically during project execution.
The artifact dialog for file artifacts also handles .slx models in
addition to .mdl models.
Utility libraries
Utility functions are now placed in utility libraries, which can be
located anywhere below the library search paths. Based on the applied
tool adapter the utility functions are of type M-file (MATLAB) or
Jar-file (Ascet, Excel). The utility functions will be initialized at
MXAM startup and are accessible during check execution.
Any folder can be declared a utility library by adding an empty file
named ‘.mxmulib’.
Repair handling
Repair description field added to MXAM results.
Easier filtering for repairable MXAM results by additional column in
result table.
Restoring the selection of the previously selected result after
applying repair operation.
Mark result images as obsolete if underlying model has been changed
by repair operation.
Time consumption of checks
After analysis the time consumption of each executed check is shown in
the ‘Time Consumption’ section of the report overview. These times are
structured by the applied artifacts. The overall time consumption is
displayed in the ‘Analysis Configuration Details’ view and in the
exported report.
Covered guidelines filter
Filter option to toggle visibility of guidelines, which are not
covered by checks. The filter option is accessible in the guideline
document view, guideline document editor, and report view.
Notification preferences
Notifications for changes in the MXAM database can be toggled in the
MXAM section of the preferences dialog.
Notifications for modified and unsaved artifacts before triggering
an analysis can be toggled in the MXAM section of the preferences
dialog.
Configurable support contact
A support contact person is advised in case of a check failure. The
contact person’s name and e-mail address can be configured in the MXAM
section of the preferences dialog and in the project settings page.
Editorial rework
Descriptive elements in the MXAM Drive database have been improved.
Check release notes
Changes regarding checks are recorded in separate release notes
located in the ‘Docs’ directory of each check library.
Bug Fixes
#2009: Drag and drop of placeholder and default guidelines in
guideline documents is now possible for project managers if they are
not the author of the guideline document.
#2008: Editing of documents, guidelines, and checks only possible in
draft status.
#1993: Save of history entry corrected for guidelines and checks.
#1984: The number of reported items, that is configurable in the
MXAM report settings, is now applied to each type of result items,
e.g. if the number is set to 20, max. 20 failed, 20 warnings, 20 notes
will be reported for each check.
Access and handling of items by reviewers reworked.
Transfer of all attributes of library items on ‘save as’ fixed.
V3.2.0 01-10-2014
Features
Headless analysis
An analysis can be executed in batch mode using the
headlessMxam.bat located in the root installation directory. This will
execute a given MXAM project and create a report. The analysis
parameters can be configured in the headlessParamaters.txt file.
Repairing artifacts analyzed by Java checks (e.g. ASCET and Excel
checks)
Artifact elements reported by Java checks as failed can now be
repaired if the check offers a repair option. The repair operation can
be executed in the ‘Report’ perspective in two ways:
Saving repaired artifacts
Artifacts that have been repaired by MXAM checks can now be saved. The
original artifact will be overwritten. Select the ‘Save Artifacts’
command in the ‘Report Navigation’ view to save the artifact. After an
automatic repair has been performed in MXAM, you will be asked to save
your artifacts when closing MXAM, or before running the next analysis.
API for Java checks
The API for Java checks has a new interface to repair elements.
The API for Java checks supports setting a repair message.
The API to add element results has been changed. The methods
createAndAddElementResult() are deprecated. The method
addElementResult() should be used instead. An ElementResult can be
created using the ElementResult.builder() method. Example:
this.addElementResult(AscetElementResult.builder().result(ElementResultEnum.FAILED).qualifier(“Ascet
Project”).build());
ASCET Analysis
The ASCET adapter has been updated to support ASCET version 6.2.1
(this version only).
The ASCET adapter has been extended to support the analysis of ASCET
statemachines and classes. The ASCET adapter provides an API for Java
checks to read and write ASCET modules, statemachines, and classes.
The new ASCET adapter provides an API to save an ASCET artifact.
‘Save as…’ for documents, guidelines, and checks
Library items such as guideline documents, guidelines, and checks can
be saved under a different ID. A new item will be created based on the
old item. A new history record will be created for the new item to log
information of the base item. The old history can be kept optionally.
The new command is available in two different ways:
Select a document, guideline, or check in the ‘Library’ perspective
and press the ‘Save as…’ command in the toolbar.
Open/Edit a document, guideline, or check in the editor and press
the ‘Save as…’ command in the File menu.
Guideline document export
The export of guideline documents has been improved by using the
‘docx4j’ Java library. The export is available under
‘File/Export/Guideline Document’ and supports the Word and PDF format
as well as different document styles. The word document template
(resourcesdocx4jTemplateGuidelineDocument.docx) can be branded by
changing the header, footer, and styles.
Report Overview
The ‘Result Summary’ section in the ‘Report Overview’ has been changed
to summarize the results depending on the selection in the ‘Report
Navigation’ view:
Selecting the report, a document, or a chapter summarizes the
guideline results of all children of the selected element.
Selecting a guideline summarizes the check results.
Selecting a check summarizes the element results (findings).
Project Configuration
The new view ‘Project Configuration Details’ shows all details of the
project configuration:
The view is available in the ‘Project’ perspective to show all
details of the currently loaded project.
The view is available in the ‘Report’ perspective to show all
details of the project configuration that were used to create the
selected report.
Release Information
Analysis progress
The analysis progress dialog has been improved to show extra progress
steps for the initialization of artifacts.
Library wizard
Creating a library has been improved. The New… wizard has a new ID
field that can be used to create the library directory inside the
specified location.
Parallel use of MES tools
MXAM has been improved to support the parallel use of MES tools
(M-XRAY, MTest) in the same MATLAB session.
Bug Fixes
#1706: The check result statistic was incorrect in HTML and PDF
reports. The bug has been fixed.
#1710: The result summary in the analysis progress bar displayed
incorrect results if more than one artifact is analyzed. The bug has
been fixed.
#1707: A report could not be saved to the default directory due to
missing access rights. The default directory for reports is now
‘C:User<User>MXAM_DRIVEexports’. The wizard displays a correct
error message if a chosen directory has no write permission.
#1852: An error occurred when MXAM was started within MATLAB
(>>mxam) and the current directory was not the MXAM installation
directory. The bug has been fixed, so that the start function can be
now called from any directory, given the MXAM installation directory
is added to the MATLAB path.
V3.1.2 09-07-2014
Features
Report:
Report annotations can be hidden from the report using the context
menu of a report (“Hide Annotations” / “Show Annotations”).
Project:
Project files can be saved as a new file to a new location via the
File > Save as… command. Referenced files such as artifact
definitions, ignore-lists, annotations will be copied to the new
location and still referenced by the new project file. Be aware that
references to artifacts might become invalid if a relative path is
used.
The usability to add documents to the project has been improved. The
“Edit…” button is renamed to “Add…” and the dialog offers only
documents which are not already in the documents table.
Bug Fixes
#1543, 1556: Starting MXAM within MATLAB and pressing “Open Block”
on a MATLAB element result in the report caused other operations such
as repair, rerun, and “Open Block” to fail afterwards. The bug has now
been fixed in the open link function.
#1668: Starting MXAM within MATLAB and using an artifact definition
file (.mxma) for analysis didn’t work. The initialization of the
artifact has now been fixed.
#1682: Starting MXAM within MATLAB didn’t add the M-function paths
from the check libraries correctly which resulted in aborted checks.
The initialization of M-function path has now been fixed.
#1586: Opening the same project which is currently open didn’t
reload the project. This has been fixed so that the project will now
be reloaded.
#1597: Spaces in richtext images are now escaped correctly.
V3.1.1 12-05-2014
Features
Report:
New annotations will be applied to all existing reports.
Annotation definitions can be referenced by MXAM projects.
Annotations stored in the referenced definition will be assigned to
reports.
The annotation definition containing new report annotations will be
automatically referenced by the current project.
Reports can be deleted from the report perspective using the context
menu on the report.
Analysis progress:
Bug Fixes
#1507: The complete guideline/check content will now be copied when
creating a new version including images.
#1546: All guideline/check versions are shown in the browser table
when depending on the filter option “exclude all but head version”.
#1544: MATLAB Helper functions of check libraries are now correctly
added to the MATLAB search path when starting MXAM inside of MATLAB.
#1549: The user directory will now be correctly initialized when
starting MXAM inside of MATLAB.
#1551: Artifacts will now directly be available in the client when
starting MXAM inside of MATLAB.
V3.1.0 22-04-2014
Features
Report annotations:
Users can now comment on check findings. Check element results can be
annotated with a comment and the result type can be changed from e.g.
failed to passed. Report annotations will be mapped to their specific
element results for which they have been created with each analysis.
The comment is shown in the element description view and the changed
result type influences the overall report result.
For details see Help > Help Contents > User Guide > Concepts > Report
annotations.
Report results:
Check and element result types and colors have been improved. The
element description view is highlighted with the color of the current
result.
For details see Help > Help Contents > User Guide > Concepts > Report
results.
Report element list:
When selecting an element result in the list, the corresponding check
will now be highlighted in the report navigation view. The table
column order has been changed as well.
Report element description view:
A new toolbar allows operations on the selected element result such
as linking to the element, or adding, editing, and removing an
annotation.
User directory:
A user directory will be created on startup for each MXAM DRIVE
installation to avoid cross references between different
installations. It contains tool settings (e.g. paths to libraries),
adapter settings, and log files.
For Win7:
C:Users<Username>AppDataRoamingMESMXAM_DRIVE<Version_Hash>
V3.0.3 16-04-2014
Features
Guideline and checks have been synchronized with MXAM 1.x and
guideline documents have been improved.
MAAB 3.0 guidelines and checks are available.
Functional Safety Guidelines and checks have been added and
improved.
Bug Fixes
#1451: Starting MXAM DRIVE within MATLAB didn’t work due to relative
paths which could not be resolved. The MATLAB function mxam.m has been
fixed.
#1464: Using a floating license has been corrected. In some cases
the FlexNet module performed a system exit when no heartbeats from the
floating server can be received. This resulted in the shutdown of
MATLAB.
#1387: The properties in the preferences menu for the Excel adapter
have been corrected.
#1199: After delayed check in of the feature licenses during a long
running check analysis, the license is successfully re-acquired by the
next check.
#1182: License Module optimized to run in the same JVM as the tool
itself. There is no inter process communication required.
#1209: Check results are now encapsulated in each report for each
single check. Unwanted cross-references between same checks in
different reports and guidelines are cut.
V3.0.1 18-02-2014
Bug Fixes
#1121: Libaries created outside the defined search paths are now
available after a restart.
#1128: If the email address of a project manager or author is
entered the user where not able to edit the resource. Access rights
for project managers and authors are now corrected.
#1020: The MATLAB link operation in the report opens the model in
case it has been closed
#935: Opening to many guideline and check editors caused MXAM to
crash because there where no more handles available. This problem has
been fixed.
#876: Changing check parameters caused the guideline document
selection in the Project Documents Perspective to reset. The current
selection will now be kept.
V3.0.0 15-10-2013
Features
License mechanism:
MXAM uses the FlexNet license mechanism with different license
options.
Node-locked license with a MAC address for one user only
Node-locked license with dongle for any user
Floating license for a certain number of users
Please refer to the user guide to see how to configure your license
settings.
Repairing checks:
The repair function for MATLAB checks is now available in the report.
Select the check in the report document tree, open the context menu
and select the “Repair” command.
This command opens a MATLAB dialog to ask the user to fix all
elements, fix single elements or cancel the operation. The new results
will be displayed in the same report.
There is also a new filter option in the document tree to display only
repairable checks.
Rerunning checks:
A check can now be executed again in the report perspective. Select
the check in the report document tree, open the context menu and
select the “Rerun” command.
This executes the selected check and shows the new results in the same
report.
MXAM Content Management:
Access rights for library, projects, and documents can now be set to
public or protected. Public access means that any user can edit the
content whereas protected means that only registered managers/authors
are allowed to edit the content.
Guideline document editor:
The document editor perspective no longer exists. Instead a document
can be edited in a document editor within the library editor
perspective. Each document can be opened in it’s own editor.
The project document perspective holds copies of the original
documents where the user can select/deselect guidelines without
changing the original document.
Analysis progress:
The progress dialog shown during analysis has been refined showing the
number of artifacts being analyzed and the number of the current check
out of the total number of checks.
Batch analysis:
An analysis can be executed by using the Java API of MXAM. A report
can now be generated and stored in a user defined directory.
V2.9.0 08-01-2013
Features
MXAM Content Management (Documents, Guidelines, Checks, Parameters):
MXAM content such as documents, guidelines, checks, and parameter
definitions are now managed in libraries instead of bundles.
The new Library Browser perspective lets you edit and browse through
the content available in your MXAM distribution.
Check parameters:
Check parameters can be configured in the parameter dialog:
Preferences>Overwrite check parameters (for help open the dialog and
press F1)
Parameters can be overwritten by guidelines, documents, and projects
Three types of check parameters exist:
global parameters: defined in the adapter and used by all checks
shared parameters: defined in parameter definition libraries and
shared between several checks
check parameters: defined in the check itself and used by this check
only
Access rights:
Access rights for projects, documents, and libraries can be set to
public or protected. Public allows anyone to change the source whereas
protected allows only registered managers/authors to change the
source.
Check development:
MXAM start configuration:
Starting the mxam.exe you can pass the project to load on startup:
mxam .exe -project “C:MyProjectsproject.mxmp”
Starting MXAM in MATLAB by executing mxam you can pass the project
to load on startup: mxam(‘C:MyProjectsproject.mxmp’);
V2.8.1 11-04-2013
Features
Guidelines and checks:
An option can be set to highlight all changes made in a bundle (see
MXAM preferences). New or changed guidelines/checks will be
highlighted in the Guideline/Checks View.
Guidelines and checks can have private properties if defined in the
template. Private properties will not be displayed in the document.
The status ‘accepted’ and ‘rejected’ are added to the status
property
Co-authors can be set for a guideline/check who are also allowed to
edit the guideline/check
A reviewer can be set for guidelines and checks
The reviewer is allowed to change the status from proposed to
accepted or rejected
Bundles:
Documents:
A document can have placeholder and default guidelines which can be
overwritten by other guidelines
Co-managers can be set for a document who are also allowed to edit
the document
The status ‘accepted’ and ‘rejected’ are added to the status
property
A reviewer can be set for a document
The reviewer is allowed to change the status from proposed to
accepted or rejected
A document can only be released when all guidelines and checks
referenced by the document are released
A released document cannot be edited
A new version of a released document can be created
A document can be validated to find inconsistencies
V2.8.0 30-Nov-2012
Features
Guideline documents:
Guideline documents created in MXAM can be exported to HTML and PDF.
MXAM supports different output pre-sets such as full, compact, and
short.
Wizards:
MXAM has ‘New’ and ‘Export’ wizards helping the user to manage
projects, documents, guidelines, and checks. The wizards can be found
in the File menu and can be accessed at any time.
Menu:
MXAM has different perspectives each for a certain purpose. The
perspective bar to switch between perspective has been changed thus it
has text labels for a better understanding and can be rearranged to
the users liking.
A quick toolbar in the top left corner allows quick access to
functions that are often used.
V2.7.5 10-03-2013
Bug Fixes
GUI:
ASCET Adapter:
Report:
V2.7.4 12-Dec-2012
Bug Fixes
ASCET Adapter:
ASCET adapter has been fixed and improved. See adapter release notes
for more details.
Parsing the version number of data.amd files has been fixed which
caused an error when reading an file artifact.
Reading an file artifact from a directory with less than four
characters caused a problem which has been fixed.
Report:
Features
Application:
Guideline Document:
V2.7.3 21-Nov-2012
Bug Fixes
Application:
ASCET Adapter:
Better handling of RootHierarchys
Wrong association of adapter and components in certain cases fixed
No reloading of already loaded offline adapter which caused e memory
leak
Remember axl source file for file artifact (originalFile)
Mixed content (amd- and axl-files) will now be recognized.
V2.7.2 15-Nov-2012
Features
ASCET Adapter:
The ASCET path to the .exe file does not have to be set in the
preferences. If there is no path defined the adapter will try to start
ASCET using the COM API and will only fail if ASCET is not installed.
Modules belonging to a project will not be displayed separately in
the root of the artifact wizard.
Logging:
MXAM logs messages which are displayed in a log view. To open the Log
View please select Preferences > Show Log. The log level can be
configured before starting MXAM. Open the file
configuration/config.ini and set the property ‘eclipse.log.level’ to
either one of ALL | INFO | WARNING | ERROR
UTF-8 Encoding:
Guidelines and Files will be read as UTF-8 as well as saved as UTF-8
encoded files. It ensures to be able to display every Unicode
character.
Bug Fixes
V2.7.1 09-Nov-2012
Features
Guideline document:
Custom properties can be defined in the document XML. They can be used
to write MKS or SVN values to the document and will only be displayed
in the GUI and excel report. See the XML schema
‘./resources/schemas/guidelineDocument.xsd’.
Report:
Report documents will be automatically opened when the export has
finished.
Bug Fixes
File artifacts:
The usage of file artifacts have been corrected. The artifact wizard
can be used to choose a directory which will then display the
artifacts suitable for the selected adapter.
ASCET Adapter:
Check result images are now displayed correctly.
Artifact configuration:
V2.7.0 24-Oct-2012
Features
Placeholder guidelines:
A new concept to define placeholder guidelines has been implemented.
The configuration perspective allows guideline managers to define
guidelines as placeholder or default guidelines.
It means that project managers using a guideline document with
placeholder or default guidelines can overwrite these guidelines.
The project will be validated when executing the guideline documents
and validation messages will be included in the report.
See help for more information.
Guideline documents:
MXAM now supports including more than one guideline document in a
project where each guideline document can have any number of chapters.
The guideline document perspective is accessible for all users but
documents cannot be changed accept the user is the manager of the
document.
Check parameter editor:
The check editor has been enhanced such as that a new section allows
the author to define parameters with a name, description and default
value. Supported parameters for now are of type: Boolean, String,
Double, Integer, and Enumeration.
ASCET Adapter:
Project support: The artifact wizard represents the project
structure of the ASCET database and allows the user to select a module
in the project context. The project information will be passed to
ASCET checks.
ASCET element framing: The new meta adapter now supports the framing
of ASCET elements for checks. It is used in the element result
pictures to highlight the problems.
New search functions for checks to find: elements of classes for
hierarchies, and elements of certain types.
V2.6.1 28-Sep-2012
Features
Guideline documents:
The MES Model Examiner DRIVE has become a tool to manage guideline
documents and guidelines. Hence, some terms have been changed to give
the user a better understanding of the new concepts.
* ‘Guideline-set Definition’ > ‘Guideline Document’
* ‘Guideline-set’ > ‘Chapter’
* ‘Guideline-set Perspective’ > ‘Guideline Document Perspective’
* ‘Guideline-set Definition View’ > ‘Guideline Documents View’
Former guideline-set definitions can still be opened in MXAM but will
be converted to the new format when saving the document.
XML Schemas:
XSD schema files for the following MXAM XML formats are available in
the ‘resources/schemas’ directory: project, guideline document,
template
V2.6.0 21-Sep-2012
Features
Private attributes for guidelines and checks:
Guidelines and checks can now have private attributes. Attributes can
be defined as private in the template. Whenever a new guideline or
check is created from this template in the MXAM editor private
attributes are marked with a key symbol. It means that these private
attributes are only visible in the editor for the bundle manager and
author but are invisible for other users. Guidelines and check
attributes are public per default when the private flag is not defined
in the template, guideline or check XML.
Guideline-set Definitions:
A guideline-set definition can now have more than one root
guideline-set. It allows the user to add several guideline-sets
directly to the root of the guideline-set definition.
Report:
Guideline-sets and guidelines that are not selected or have an unknown
result can be exluded from the report navigation view. Simply select
the filter symbol in the upper right corner of the view and press
‘Show results only’.
Bug Fixes
Analysis:
Guidelines that are not selected in the guideline-set definition will
not be executed when running an analysis.
Editor:
The EPF richtext component has been updated to the latest version
1.5.1.4. The event handling has been improved so that changes in the
richtext field will be recognized without having to press enter.
However, some windows machines don’t seem to fire key events so that
the user is not able to change the text. This is a known issue of the
EPF richtext component.
Known workaround: Select the HTML field, go back to the Richtext field
and start editing.
ASCET adapter:
MATLAB adapter:
A subystem that has been manually opened in MATLAB and analysed in
MXAM will not automatically be closed afterwards.
V2.5.0 31-Jul-2012
Features
ASCET adapter:
A new API has been implemented to make the implementation of an ASCET
java check much more comfortable. It represents the ASCET component
structure as shown in ASCET whereas the low-level API only represents
the ASCET XML export structure.
It is now possible to analyze ASCET projects and give ASCET java
checks the possibility to access a component’s project information.
Report:
MXAM users can now export their reports as Excel file. The review
excel sheet can be used to make comments on failed elements. Each
element gets an unique identifier which matches the same element
throughout different reports.
Analysis:
The user can start an analysis without pre-configuraing artifacts.
Simply selecting the “Analyze” link will open a wizard to choose
artifacts und run the analyis.
V2.4.0 04-Jun-2012
Features
MATLAB adapter:
MXAM Drive now supports checks for MATLAB. A new MATLAB adapter within
MXAM can start MATLAB and execute M-Checks.
Analysis progress:
The progress bar has been improved in the way that it shows each check
being progressed. The analysis progress can be canceled which means
that the current check being processed will be finished and all
following checks will be aborted.
Artifact Wizard:
The project overview perspective has a new section to help the user
choose the artifacts to analyze. To add artifacts use the ‘Add…’
button. A wizard will guide you through.
V2.3.2 22-May-2012
Features
ASCET adapter:
A new API for the control and data flow has been implemented for the
ASCET adapter. The new interface can be used to e.g. analyze the
signal flow of ASCET modules.
Control flow: All elements representing different execution
alternatives (control outputs of if, switch,…)
Data flow: All elements belonging to an assignment/statement
(operators, variables, functions,…)
V2.3.1 26-Apr-2012
Features
Perspectives:
All views are now movable and closable. To reset a perspective to it’s
original layout select ‘Preferences>Reset perspective’.
Report Navigation View:
The current report will be expanded by default.
Report Element Description View:
The check description including parameters will be displayed in a
separate section.
ASCET adapter:
Bugfix: Picture Points for element results will be reset for each
element result. Frames on non Ascet elements in the report picture
such as crossing lines are now displayed correctly.
V2.3.0 07-Feb-2012
Features
Guideline-set view:
The guideline-set tree can now be modified by moving (drag and drop)
and deleting guidelines and guideline-sets. Additional a performance
enhancement was taken.
ASCET adapter:
There is a new adapter for ASCET6 so you can now analyze ASCET5 or
ASCET6 models with MXAM.
V2.2.2 11-Jan-2012
Bugfix:
Saving a guideline-set definition file did not work in 2.2.1. This bug
has been fixed.
V2.2.1 04-Jan-2012
Glossary:
There is a new glossary in the MES Model Examiner Online Help. This
will help you to understand certain terms commonly used when working
with MXAM. At the moment explanations are given in German only but
will soon be provided in English as well.
Plug-in installation:
MXAM plug-ins can be installed via the Help>Install New Software…
wizard. Selecting Add…>Archive… allows you to select the delivered
zip plug-in archive. This will automatically install the plug-in and
restart MXAM. To uninstall a plug-in go to the same wizard > What is
already installed, select the plug-in and press Uninstall.
It is not recommended to update or download any other software or
plug-ins other than the ones delivered explicitly by MES.
MXAM startup process:
A new progress dialog will be opened apart from the splash screen upon
startup of MXAM . This is needed due to initializing processes such as
loading guidelines and checks.
Bug Fixes
V2.2.0 30-Sep-2011
Enhanced user and role management:
MXAM manages the following roles: user, project manager,
guidelines-set manager, bundle manager, and bundle author. This makes
it possible to pass certain responsibilities to different users.
Access right restrictions:
MXAM content/files can be shared between different users which makes
it necessary to restrict certain operation on files. Depending on the
user’s role MXAM enables/disables functionality.
Report perspective:
Element results are sorted by their priority:
Error-Failed-Warning-Review-Note-Passed
Passed elements are collapsed by default
Deselected checks have the result “deselected” instead of “unknown”
Project perspective:
Error handling when project file could not be loaded showing an
error view with possible solutions and a refresh function to reload
the project file
bugfix: selecting cancel in the artifact wizards will be handled
correctly
Columns in the element list view are sorted differently going from
important information to less important
Bookmarks in the PDF document export are now correctly linked
Guideline-set configuration perspective:
Explorer, guidelines and checks in extra view
Filter options for guidelines and checks which allow the user to
exclude certain guidelines or checks by their status or version
Network-Installation:
V2.1.0 01-Sep-2011
Editor:
The following features are available in the new editor plug-in:
Create and delete bundles to manage and group guidelines and checks
Create, edit, and delete guidelines and checks using templates
Version management for guidelines and checks
History and comments for guidelines and checks to track changes over
time
Built-in rich text editing including tables and images to provide
detailed description for guidelines and checks
Filter and full text search over guidelines and checks to quickly
find what you are looking for
Refresh of bundles, guidelines, checks within MXAM to load any
changes made directly in files
Editing bundles:
You can add or delete bundles within the explorer view. To add a
bundle simply set the path and name in the wizard. It is also possible
to refresh a bundle.
Editing guidelines:
Selecting a bundle in the explorer allows you to add a new guideline
with help of a wizard. The bundle, template, id and title must be set
for creating a new guideline. It will appear in the Guidelines List
view showing all important attributes within a table. The guideline
will be opened within an editor so you can comfortable edit all
attributes.
You are only able to edit the guideline when you are the author or
bundle manager.
Editing checks:
The concept is just the same as for guidelines. Editing parameters is
planned as a future feature.
Version management:
Guidelines and checks have a life cycle which depends on the status
and version. When creating a new version the guideline will be
duplicated for further editing, the old one will stay untouched. The
initial version of a new guideline or check is 1.
History:
When changes are being made and saved the user can or in some cases
has to write a comment which will be saved as a history record.
Therefore it is easy to keep track of a guideline or check over time.
Richtext editing:
Guidelines and check attributes defined as rich text can be added
within a built-in rich text editor. This creates inline HTML using
images, tables, fonts etc.
Filter and search:
Simply find guidelines or checks by using the full text search or
filter them by status or version.
V2.0.4 12-Jul-2011
ASCET Adapter: Any number of elements can be highlighted within an
element result picture
Network-Installation:
A One-Click-Installation .exe for clients is provided where the
administrator specifies the installation path.
When starting MXAM the first time an MXAM directory will be created
within the user home directory.
An Uninstaller deletes all program and user directories as well as
menu and desktop shortcuts.
Parallel installations of MXAM are possible since files are always
organized in subfolders representing the version number.
V2.0.3 01-Jul-2011
ASCET Adapter: Comments and lines are now highlighted in module
pictures of an element result
V2.0.2 30-May-2011
Project Overview:
Report:
Display of analyzed artifacts in the root element of a report within
the Report Navigation View.
Display of the overall result within the Report Description View
Note for each artifact if no relevant elements were found by a check
Bugfix: Passed icon for GuidelineSet/Guideline/Check when only Notes
found
Bugfix: Occurrence of Project Editor in Report Perspective
suppressed
Explorer View:
Other:
V2.0.1 02-May-2011
Report:
ASCET Adapter:
ASCET Modules will exported each time an MXAM analysis is started. For
that reason no information will be cached and changes made to the model will be
available during analysis.
Icons in ASCET Modules are recognized and ignored for analysis and are
reported as note.
Analysis:The model chooser dialog will preselect a module if there is
only one. If more then one models are available the user must select the
models himself. If no models are available the user will get a message with
the demand to choose another database.
V2.0.0 29-Apr-2011
Ignore-list
XML definition file to ignore specific blocks or block types from
being analyzed.
The file can be referenced by a project or in an artifact definition.
Parameter Editor
Use a wizard to easily overwrite check parameters for a guideline-set.
V2.0.0 04 31-Mar-2011
Project Overview
Different sections within the project overview:
* Use project artifacts: Runs analysis with artifacts which are
defined in the project file
- * Connect to target platform: Runs analysis by connecting to the
target platform, e.g. ASCET, and opening a model selection dialog
* Choose custom artifact: Opens a dialog to choose or create an
artifact from a file, e.g. axl-file or folder with amd-files for ASCET;
mdl-file for MATLAB
Guideline-set Configuration Perspective (for Manager)
This perspective helps you create guideline-sets, overwriting check
parameter values and dragging guidelines from the explorer into the
guideline-set. This perspective is only visible for the
guideline-set definition manager.
Three views:
Guideline-set view: Navigate through guideline-sets
Bundle Explorer: Find guidelines and checks
Detail View: Description of guidelines and checks
Guideline-set Perspective (for User)
Guideline-set View and Detail View for the user who is not manager of
a guideline-set definition
Report Perspective
Detail View of checks shows overwritten parameters
PDF Export
(known issues: page break, bookmarks and page numbers must still be
improved
V2.0.0 03 03-Mar-2011
HTML Export
Reports can be exported to HTML by selecting one or more reports in
the ‘Report’ perspective and clicking the ‘export report’ button in the main
toolbar. If no path or name is specified the report will be saved in the
default folder (<mxam-root>/reports) with a default name. The HTML document
contains overview charts for guideline and check element results.
Views
Views in Perspectives are now non-closable and non-movable. ‘Show
View’ menu entry has been removed.
ASCET
V2.0.0 02 04-Feb-2011
Check parameter
Parameters for checks can be defined in the check XML description.
Parameters can be of type String, Boolean, Integer, Double or
Enumeration.
The following attributes must be set: Name, Description, Default
value.
All check parameters are available to the check’s java implementation
at runtime.
To see the list of available parameters see the checks ‘Detail view’
in the MXAM GUI.
Check development
Aside to the MXAM setup we offer a package for check developers
containing:
Eclipse development environment
Java
Eclipse Workspace with an example project
Adapter UML diagrams
Example Bundle for guideline and check descriptions
XML generator which generates guideline and check XML files out of
Property files
V2.0.0 01 07-Jan-2011
Running analysis in MXAM GUI
Simple as it is you just need to select guidelines in the ‘Guideline
Overview’
view and press the ‘Run’ button in the main toolbar. There are two
different
ways for execution:
1) Online (for ASCET checks): If ASCET is running a
component selection dialog will offer the artifacts to analyze.
2) Offline: If ASCET is not running you will be asked to select an
artifact
definition file. This is a configuration file which holds artifact
information.
Reporting
The ‘Report’ perspective provides a comfortable way of navigating
through rule
violations or inspecting the overall result summary.
The ‘Report Navigation’ view on the left-hand side lists all executed
guidelines
and their checks whereas on the right-hand side you find detailed
information
for the selected guideline, check or even the whole report.
‘Report Description’: Overview of analyzed artifacts, result summary,
description
‘Report List’: List of all analyzed elements, e.g. blocks, files etc.
‘Report Element Description’: Detailed info on an element including
link and
image (where applicable)
Creating and managing guideline bundles
A bundle is a folder on the file system and typically holds guidelines
and
checks for one project, tool or any other category. The default bundle
directory is located in ‘<mxam-root>/guidelinebundles’ but any other
bundle
directory can be added under
‘Window>Preferences>MXAM>Guideline-Bundles’. It
might as well be a directory which will be automatically searched for
bundles.
Create a bundle by creating a folder with three sub folders named
‘guidelines’,
‘checks’, ‘checksrc’.
Creating and managing guidelines and checks
Guidelines and checks are managed in bundles. Guideline and check
descriptions
are XML files which must be conform to a certain structure. A
guideline and
check editor and schemas for XML files will be shipped with a future
version of
MXAM. Please use an external XML editor and the provided template XML
file for now:
‘<mxam-root>/guidelinebundles/TemplateBundle/guidelines/template_guideline_1.xml’
‘<mxam-root>/guidelinebundles/TemplateBundle/checks/template_check_1.xml’
Implementing java checks
You may develop own custom checks for your company or project
guidelines.
The MXAM API offers an integration of java checks into the MXAM
framework.
With this version checks can be written for the following target
artifacts
or platforms: ASCET, MATLAB, Any basic file.
Tool adapters and additional utility and helper functions are already
available for ASCET and MATLAB. However more functionality is
continuously being
developed for future versions to support an easy check implementation
for the
developer.
Batch analysis
You can execute guidelines/checks from your own java class or
application.
The MXAM API provides manager classes with functionality to access
bundles,
guidelines, checks etc. and to execute checks on artifacts.
For more information see the class
‘com.modelengineers.mxam.batch.MxamBatchAnalysis.java’ in the example
workspace ‘<mxam-root>/exampleworkspace’
Artifact definition
Artifacts can be defined in XML files and will be passed to the check
for analysis. Different artifacts types are: Ascetartifact,
Matlabartifact, Fileartifact.
Ascetartifacts and Matlabartifacts are necessary for offline analysis
when the
tool itself is not available and the model file itself must be
analyzed.
Fileartifacts specify a folder or file for basic checks.
See the templates under ‘<mxam-root>doctemplates’.