MES Model Examiner® - Release Notes

V10.1.0 April 2024

Tool Framework

Used ASCET installation can now be configured

  • Added option to select an ASCET version from the installed versions, or the last opened one, in the preferences.

  • Added CLI parameter -ascetVersion to select the ASCET version from headless mode.

Improvements

  • Updated MoRe to version 4.17.

  • Added web service request to export guideline documents via /guidelineDocExport POST.

  • Added MATLAB API mxamapi_exportGuidelineDocuments to also export guideline documents.

  • Added filter to show only repairable findings in the report perspective.

  • Added CLI parameter -ci or -automation to ensure that MXAM is running in automation mode. This requires an MXAM_CI_EXEC license feature.

  • Project specific document selection can now be justified with comments.

  • Updated installer dialog in a cleaner and faster way.

  • Accelerated analysis progress by updating the handling of mes_progress. (#11754)

  • Cleaned up obsolete global parameters.

  • Added warnings for when the used Java version is not compatible with MXAM.

  • Updated Log4j to version 2.23.1.

Bug Fixes

  • Changed the execution order to avoid hook handling on wrong artifact. The preArtifactHook is now executed before the artifact structure analysis. (#11679)

  • Removed creation of link to the user directory. (#11689)

  • Fixed incorrectly formatted multilinks in finding details that occurred randomly. (#11062)

  • Fixed potential caching problems when using the ResolveModelReferences parameter. (#9656)

  • Fixed recognition of old MoRe installations. (#11888)

Guidelines, Checks, and Documents

New MISRA AC SLSF:2023 Guidelines Available

  • All guidelines from the new “MISRA AC SLSF:2023 - Modelling design and style guidelines for the application of Simulink and Stateflow” document are now available in MXAM.

Improved Performance of Data Flow Analysis

  • Checks that require thorough signal tracing, such as for guidelines sdt_sc006 or sdt_il001, have been improved to achieve shorter execution times.

Extended the Assisted and Automated Safe Repair of Findings

  • New repair functionality has been added to checks for the following topics:

    • Model Info Appearance: mcheck_misra_slsf_022_a

    • Stateflow Chart Data Typing: mcheck_misra_slsf_034_c

    • Stateflow Chart Initialization Settings: mcheck_misra_slsf_034_d

    • Usage of “From” and “Goto” Blocks - Tag: mcheck_misra_slsf_018_b

    • TargetLink Specifications for Stateflow Input Variables: mcheck_mes_cgtl_4301

    • Duplicated Inports: mcheck_sdt_il001_b, mcheck_ds_0038

User Notification for Custom Check Implementations

  • The framework for the check-based repair will be discontinued in the upcoming release MXAM 10.2 (July 2024). Please refer to MXAM’s developer guide for details on the implementation of finding-based repairs. The check-based repair functionality has been superseeded by the finding-based repair feature since MXAM 9.0.

New Checks Available Covering MAB Guidelines (5.0)

  • Ensure that calibration parameters are configured as named constants with guideline jc_0645.

  • Ensure the correct value ranges for inputs of Sqrt, Reciprocal Sqrt blocks, and Math blocks with parts c, d, and f of guideline jc_0805.

  • Ensure the saturation on integer overflow for Abs and TL_Abs blocks with part a of guideline jc_0805.

  • Ensure the correct usage of bitwise and logical operators in Stateflow with guideline na_0001.

New Checks Available Covering dSPACE Modeling Guidelines for TargetLink (Versions 5.0, 5.1, 5.2 and 2022-B)

  • Ensure data type consistency between input and output signals of Discrete Transfer Fcn, Discrete State Space, and Discrete Filter blocks with mcheck_mes_cgtl_4211 covering guideline TL_RULE_DISC_LIB_TRANSFER_STATESPACE_FILTER_BLOCKS.

New Starter Set Documents

  • Explore, test, and apply a careful selection of up-to-date modeling standards from MISRA, MAB, and MES using MXAM’s newly structured Starter Set documents for TargetLink and EmbeddedCoder users. The preconfigured projects StarterSetFS.mxmp and EmbeddedCoder.mxmp can be used to load the documents.

Improvements

  • Checks that include signal tracing and color checking were improved to perform faster.

  • The guideline TL_RULE_DISC_LIB_INTEGRATOR_SETTINGS now also checks for vector signal inputs to integrator blocks via the mcheck_ds_0023_a. (#11814)

  • The MAB 5.0/MAAB 3.0 guidelines na_0008 and na_0009 now reference the new checks mes_slsf_1102, mes_slsf_1103, and mes_slsf_1104 to improve the usability. (#11895).

  • The check mcheck_mes_cgtl_4301 was updated to properly identify Stateflow charts that are intended for reuse. The corresponding guideline TL_RULE_STATEFLOW_EXPLICIT_INPUT_SPEC is now checkable fully automatically.

  • The check mcheck_ar_0001 was updated to use filepaths relative to the model so that annotations can be mapped correctly. (#11807)

Changes

  • The check for guideline misra_slsf_052_a will now compare state names across the entire state machine (model) to better cover the guideline. (#11656)

  • Removed the shared parameters ‘MISRA_SL_SF.OperatorClasses’ of mcheck_misra_slsf_038_a and adapted check behavior to improve user experience. (#11756)

  • Merged functionalities of mcheck_misra_slsf_018_b_1 and b_2 into one check mcheck_misra_slsf_018_b.

  • To provide a better overview and simplify technical details, the global parameters have been restructured and the following parameters were removed as they are no longer used:

    • DebugInfo, UseCache, LogFilterStatistics, WarningLevels, NoteLevels, Progressbar step, Global.SkipTLBlockChildren, and Global.SkipSLObjectsInCharts.

  • The check mcheck_misra_slsf_038_b was refactored with new check parameters to increase usability.

Bug Fixes

  • Fixed an issue where the analysis of mcheck_na_0024 with enabled global parameter ‘Global.IgnoreBlocksByAttrFormatStr’ may have been corrupted if the model contained certain Stateflow elements. (#11821)

  • Fixed an issue where mcheck_mes_tl_pr20060928_17 would give false positive findings when variable groups named ‘Components’ were present in the TargetLink Data Dictionary. (#11678)

  • Fixed an issue where mcheck_misra_slsf_016_d would report false positive findings for Argument In / Argument Out, Model Reference and MATLAB Function blocks. (#11620, #8593)

  • Fixed an issue where mcheck_sdt_sc007_a aborted if the TargetLink Data Dictionary scaling definition of the port was not valid. (#11750)

  • Fixed an issue where mcheck_misra_slsf_042_d got stuck while analyzing Stateflow charts with looping transitions. (#11680)

  • Fixed an issue where mcheck_misra_slsf_026_a reported failed findings on block names that were not visible. (#11445)

  • Fixed an issue where mcheck_mes_slsf_2200 reported findings on Math blocks for functions that do not allow the Rounding Mode to be specified. (#11771)

  • Fixed an issue where mcheck_misra_slsf_018_c would give false positive findings due to not taking tag visibility of Goto blocks into account. (#11697)

  • Fixed an issue where mcheck_mes_sltl_002_b did not analyze the TargetLink data type correctly. (#11751)

  • Fixed an issue where mcheck_jc_0481 aborted if non-scalar signals with vector-valued boundaries were part of value comparisons in Stateflow. (#11797)

  • Fixed an issue where mcheck_misra_slsf_026_a aborted when block names had special characters. (#11862)

  • Fixed an issue where mcheck_mes_cgtl_4307 aborted on TargetLink 23.1 models. (#11894)

  • Fixed an issue where link actions in mcheck_db_0129_b incorrectly pointed to the qualifier sf-chart instead of sf-transition. (#11902)

V10.0.0 January 2024

Tool Framework

MoRe integrated in Functional Safety Editions

  • MES Model & Refactor® (MoRe) is now integrated into every MXAM Functional Safety edition.

  • The tool is activated by default and can be configured in the MATLAB Adapter Settings in the MXAM Preferences.

  • Use MoRe to your advantage to simplify and accelerate model creation and refactoring.

Updated Java Compatibility to version Java 21

  • MXAM is now Java 21 compatible.

  • The minimum Java version required is Java 11. See the compatibility table in the README_Installation for more information.

Improvements

  • The full-text search feature (Lucene package) was updated to version 6.6.6.

  • Added a help page to the installer to guide the user if they wish to initialize MXAM at every MATLAB startup.

Bug Fixes

  • Fixed an issue where MXAM would freeze if the model consisted of a high number of components and the user switched between document and artifact navigation in the report perspective. (#11531)

  • Fixed a dialog freezing issue that occurred if over 5000 findings were repaired in one go. (#11241)

  • Added warning if the installation directory contains special characters like #, % and ; which will cause issues. (#11450)

  • Fixed an issue where MXAM wouldn’t properly log in a custom user directory. (#11487)

  • Fixed an issue where TargetLink Data Dictionary objects could not be highlighted during the interactive repair dialog. (#11564)

  • Fixed an issue where Stateflow Charts could not be highlighted during the interactive repair dialog if the identification feature was set to ‘Path’. (#11577)

Guidelines, Checks, and Documents

Easy Analysis of EmbeddedCoder AUTOSAR Runnables

  • Ignore Embedded Coder AUTOSAR frames for SWCs using the global parameter ‘Global.AnalyzeAutosarRunnableSubsystemsOnly’

    • The global parameter was extended so that only model elements inside Embedded Coder AUTOSAR Runnables are analyzed if the parameter is enabled.

    • The auto-generated SWC frames are ignored if the parameter is enabled.

    • Runnable Subsystems can be either Function-call Subsystems/Simulink Functions or Atomic Subsystems and Event Listener Subsystems.

Compatibility with MATLAB R2023b and TargetLink 2023-B (23.1)

  • MXAM now supports MATLAB releases from R2019b to R2023b and TargetLink releases from 5.0 to 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

  • Ensure the usage of user-defined variable and function classes in the TargetLink Data Dictionary with mcheck_mes_cgtl_4307 covering guideline TL_RULE_SWDESIGN_USER_VARCLASS_FUNCCLASS. (#9965)

Extended the Assisted and Automated Safe Repair of Findings

  • New repair functionality has been added to checks for the following topics:

    • Usage of Conditional Control blocks: mcheck_jc_0656, mcheck_misra_slsf_011_b.

    • Usage of Lookup and Prelookup Table blocks: mcheck_jc_0626, mcheck_mes_slsf_0626.

    • Comments in Block Properties: The guideline ds_0082 now references misra_tl_1_2_a and misra_tl_1_2_b.

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

Tool Framework

Improved Tool Rollout

  • The installer has been completely revamped using NSIS. New features include:

    • Silent installation using the command line argument /S.

    • Passing of customizable configuration files for your MXAM installation using the command line argument /conf. A configuration template folder can be found in the /doc folder.

    • Specification of a license file during installation or by using the command line argument /lic.

  • The license manager has been updated and includes several new features:

    • Definition of a central license configuration for all MES tools and versions.

    • Display of all available host IDs needed for node-locked licenses.

    • Display of all dongle IDs so the user can verify connected dongles and their IDs.

    • Ability to test if the entered license server is available.

Improvements

  • Improved loading time of XML documents by changing the XML Reader from Dom driver to Stax driver (#11061).

  • Increased the default MATLAB adapter timeout from 60 to 180 seconds to prevent unexpected timeouts while starting MATLAB.

  • Improved MATLAB installation selection. The user can directly select the required version from a list of available MATLAB installations.

  • Synchronized idle timing between MXAM and MATLAB by decreasing the idle timer from 6 to 4 hours (#11368).

  • The guideline parameter ‘Priority’ has been added to exported XML report.

Bug Fixes

  • Fixed an issue where MXAM seemed to go into a busy state and stop working. This occurred in rare cases after starting an analysis from MATLAB. (#11365, #10674, #10877)

  • Fixed an issue where MXAM could not be successfully restarted from MATLAB if mxam(‘path’) was called before. (#11376)

  • Fixed an issue where the metrics table in the Excel export was missing. (#11360)

  • Improved error message for some license issues. (#11312)

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

  • New repair functionality has been added to checks for the following topics:

    • Unconnected signals and block ports: mcheck_misra_slsf_017_a, mcheck_db_0081

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

  • There is now an option to compress mxmr reports in both the export and save report dialogs. This significantly reduces the file size of large reports. Compression is active by default and can be configured for each project in the project configuration settings. Compressed and uncompressed reports are handled the same way.

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

  • The scope of the analysis can be configured by a global parameter ‘Global.AnalyzeOnlyAutosarRunnableSubsystems’ to include only subsystems that are defined as AUTOSAR Runnables. This parameter is applied to all checks. (#10788)

Identification of Duplicate Stateflow Code

  • Prohibit duplicated code segments in Stateflow with guideline mes_slsf_3800.

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

    • Instead of mcheck_jm_0010_b it is recommended to use mcheck_db_0123_b.

    • mcheck_jm_0010 replaces mcheck_jm_0010_a with some noticeable changes to the check parameters:

      • Check parameter jm_0010_a.IgnoreSimulinkPorts was removed.

      • Check parameter MAAB.jm_0010_a.LabelSignalLinesConnectingReusableSubsystem was removed to adhere to the guideline and to maintain a consistent behavior with other naming checks.

      • Check parameter MAAB.jm_0010_a.CheckEmptySignalNames was removed, as this is now covered by this check and mes_slsf_1103.

      • Check parameters MAAB.jm_0010_a.AllowedPrefixOrSuffixForInport and MAAB.jm_0010_a.AllowedPrefixOrSuffixForOutport were combined as one check parameter MES.portNaming.PrefixSuffix.

      • Check parameter MAAB.jm_0010_a.CaseSensitivePrefixOrSuffix was removed.

  • 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

  • ASCET Adapter now supports version 6.4.7 of ASCET.

Bug Fixes

  • Fixed the control flow construction in ASCET Adapter. (#10289)

Guidelines, Checks, and Documents

Guideline References

  • Adapted the MISRA project’s guideline selection reference.

V9.1.0 April 2023

Tool Framework

Pre-check Before Analysis

  • A new model pre-check is executed before analysis to ensure that the analysis is performed on the basis of valid data. This includes putting the model into compile mode. If the model fails the pre-check, validation markers will be generated for the report to mark detected errors.

New Repair Finding MATLAB API

  • The new repair finding functionality from MXAM 9.0.0 can now be used in MATLAB with mxamapi_repairOpenReport.m. This starts repairing all non-interactive and repairable findings from the last opened report in MXAM.

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

  • Automatic pre-validation of the analyzed Simulink (R) model is now integrated. This prevalidation includes checking

    • the model’s compilability,

    • MiL mode setting,

    • that the corresponding TL Data Dictionary is open,

    • if all references (libraries, referenced models) are resolved.

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

  • mes_misra_tl_5_10: Extra handling of code-files has been removed, as it is not required by the guideline. (#10767).

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.1 January 2023

Tool Framework

Bug Fixes

  • Fixed bug with annotations mapping not strictly enough for some checks that have been reworked for version 9.0.0. (#10727)

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

  • Disabled Simulink menu customization in case of batch mode execution. (#10427)

  • Added a safeguard around calls to the MATLAB function sl_refresh_customizations. (#10644)

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

  • Ensure minimum and maximum values for a Stateflow data item are set and verify the containment in the data type range with guideline TL_RULE_STATEFLOW_RANGE_INFORMATION (mcheck_mes_cgtl_4305 and mcheck_mes_cgtl_4306). (#9962)

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

  • A new version v2 of the guideline document ‘MES Guidelines - Collection of Best Practices’, which includes all new MES-MATLAB guidelines, is now 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

  • When an open MXAM application instance is not used for 6 hours the checked out licenses are returned to license server, allowing other users to acquire this MXAM licenses. The idling MXAM gets blocked until the user decides to continue its work with newly acquired licenses.

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

  • Fixed utility function for calculation of InputConnectors in ASCET Adapter in order to support StatementBlocks. (#10039)

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

      • General Conventions: TL_RULE_GENERAL_OUTPORT_STATE_INIT

    • 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

  • All guidelines of the new dSPACE Guideline Document for TargetLink version 5.2 are now available in MXAM. (#9793)

New Functional Safety Solution Guideline and Check Available

  • Avoid implicit data type conversion with the new guideline and check sdt_sc008. (#9472)

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

  • Improved Log4j initialization.

V7.3.2 March 2022

Tool Framework

Improvements

  • Improved Log4j initialization.

V7.3.1 March 2022

Tool Framework

Improvements

  • Updated ASCET Adapter to support the analysis of records.

  • Updated Log4j to version 2.17.1.

Bug Fixes

  • Fixed classpath for javax classes. (#9674)

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)

    • hd_0001,cgec_2001,misra_slsf_027_h

Changes

  • The check mcheck_sdt_il001_a assigned to the guideline sdt_il001 has been replaced by a new implementation. (#9113)

    • The new check requires a compilable model.

    • The new check traces signals through Autosar Sender and Receiver ports.

    • The new check analyzes each element of bus and vector signals as individual signals.

    • The new check will no longer trace signals beyond the borders of the analyzed subsystem.

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

  • The port for the MXAM web server and the port for the connection to MATLAB can now (by default) be automatically determined.

    • The web server port is displayed in the MXAM UI.

    • The new starter utility method “com.modelengineers.mxam.core.util.StarterUtil.main(String[] args)”, which returns the port number used by MXAM, can be employed for automatized start up.

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

  • The port for the MXAM web server and the port for the connection to MATLAB can now (by default) be automatically determined with the MES Plugin for Jenkins (since version 2.0). This facilitates the configuration of parallel job executions where each execution needs distinct ports.

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

  • Several fixes for the report export wizard:

    • Show progress of export.

    • Fixed detection of an existing Excel file to show a warning when the user is about to overwrite this file. (#8669)

    • Do not delete a folder with the same name as the report name when exporting HTML reports that overwrite existing files. (#8756)

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

  • mcheck_sdt_sc005: Legacy entries in the default value of the check parameter ‘UserSourceBlocks’ have been removed. (#9061)

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

  • MXAM’s execution time on TargetLink models has been improved considerably, especially on large 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

  • MXAM’s data flow analysis now allows inheritance for TL port blocks in linked subsystems. (#8791)

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

  • Added API to query the current MXAM version and applied patches.

  • Added API to query the current project.

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)

    • User can decide if list of presented artifacts is structured or flat.

    • Filter for classes is already applied during fetching.

  • 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:

  • Local complexity

  • Globally unused elementary inputs in percent

  • Level

  • Local cyclomatic complexity

  • Number of inports

  • Number of outports

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:

    • Decode xml character encodings for ASCET online artifact locations. (#8112)

  • 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

  • mcheck_mes_slsf_9103: The check also ignores the System Requirements block as well as System Requirement Items. (#8099)

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

  • Minor adjustments to ensure compatibility of framework and checks 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

  • mcheck_misra_slsf_013_a: The check parameter “MISRA_SL_SF.misra_slsf_013_a.MinimumInputNumberOfMultiport” has been removed. Now the check analyzes each Multiport Switch block and gives a review finding if the number of its switch inputs equals one.(#6522)

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

  • Tables and trees displayed in MXAM can be exported to Excel files.

  • Sorting and filtering are applied to the exported data.

Support to edit tags of library items

  • Tags for checks, guidelines, and guideline documents can be edited in the library browser and the corresponding editors (assuming that the user has the necessary permission).

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

Tool Framework

Advanced support of search query handling

All keywords for search queries in advanced search fields are summarized and described in the new lucene search fields’ help.

Support for ASCET (v6.4.4 pre-release)

  • All ASCET models created by ASCET in version 6.4.4 pre-release can be analyzed.

  • Providing access for ASCET autosar software components (SW-Cs) in the data model.

  • SW-Cs can be selected fully or partially according to their modeled hierarchical structure.

  • Full analysis support for Autosar software components including control and data flow.

Improvements

  • The amount of findings for one report is no longer limited.

  • Links from HTML reports to MATLAB model elements no longer require MXAM to be running. (#6856)

  • Support relative paths for attribute ‘secondArtifactLocation’ in MXAM report adapter artifact definitions. (#6935)

  • Introduced additional validation markers in case of an invalid tool preference setting like a missing path value. (#6294)

Bug Fixes

  • Fixed a problem that could cause a MATLAB crash when starting MXAM multiple times in MATLAB 2015. (#6687)

  • Fixed unexpected model closing by MATLAB after analysis. (#6869)

  • Fixed project handling that was changed by the MATLAB batch API. (#6868)

  • Removed falsely created validation markers. (#6905)

  • Fixed a problem where the context menu could not be used in the report navigation, if the report contains an error. (#6936)

  • Preserved selection in export guideline documents wizard if filtering is used. (#5687)

  • Disabled drag and drop feature if invalid guideline can be created by dropping. (#6755)

  • Fixed a problem where the ‘New Check’ dialog could not be completed. (#6860)

  • Fixed a problem where findings falsely remained in the report after a repair execution. (#6978)

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

  • mcheck_mes_slsf_3300: Reduce undefined behavior during simulation and connection problems by connecting each transition to a destination. (Referenced in Guideline mes_slsf_3300, document MES Guidelines - Collection of Best Practices)

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

  • Projects and reports can be loaded into MXAM by dragging and dropping the corresponding files into the tool.

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

  • This allows the configuration of an extended amount of memory, e.g. to support bigger reports.

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

  • Minor adjustments to ensure compatibility of framework and checks with MATLAB 2018b.

New guideline and check for using Stateflow actions

  • mes_slsf_3110/mcheck_mes_slsf_3110: Reduce error probability and increase comprehensibility when modeling flow charts and state charts by using only one type of action in Stateflow.

Improvements

  • The dataflow analysis to determine compiled data types has been considerably improved.

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

  • Updated the license module to support parallel execution on the same machine.

Compatibility with MATLAB 2018a

  • Minor adjustments to ensure compatibility of framework and checks with MATLAB 2018a.

  • Minimum required version of MATLAB is now R2011b.

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

  • mcheck_mes_slsf_9103: Unique Naming of Subsystems and Charts (referenced in guideline mes_slsf_9103, document mes_fit_for_testing).

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

  • Extended support for the analysis of multi-dimensional numerical arrays in block parameters and Stateflow expressions. (#5868)

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

  • mcheck_mes_cgtl_4204: Restrictions with regard to the Fcn Block (referenced in Guideline TL_RULE_USERFUNC_LIB_FCN_BLOCK, document dSPACE Modeling Guidelines 4.0.3)

Extended support of TargetLink Enumerations

  • The robustness of the data flow analysis has been significantly improved. Now, TargetLink explicit enumeration data types can be analyzed.

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

  • The diagnostic option ‘Mux blocks used to create Bus signal’ is always set to error, thus this will be ignored in the check execution.

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

  • mes_cgtl_4301: Avoidance of TargetLink Specifications for Stateflow Input Variables (referenced in Guideline TL_RULE_STATEFLOW_EXPLICIT_INPUT_SPEC, document dSPACE Modeling Guidelines 4.0.3)

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:

  • na_0006

  • na_0007

  • na_0042

  • misra_slsf_049_a

  • TL_ADV_STATEFLOW_STATES_VS_CONTROL_FLOW

New Guideline Documents

  • MES Modeling Guidelines for Implementation with Embedded Coder also available in the Misra Solution.

  • New version 3 of the MXAM Starter Set.

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

Tool Framework

Improved headless batch configuration to address MATLAB models directly

  • Configure MATLAB models directly in the headless batch parameters file (MXAM-INSTALLATION/headlessAnalysis.txt).

  • Use the new parameter ‘-adapter MATLAB -matlabArtifacts’ to define a list of models with an absolute path or only the model name.

  • For more help, see the MXAM user guide: Use Case Scenarios > Run a Guideline Compliance Analysis > Run an analysis Using a batch Interface

Read results from an MXMR report file within MATLAB to post-process report results

  • Use the new MATLAB function mxamapi_getReportResults() to get a struct with summarized report results

  • Syntax: result = mxamapi_getReportResults(‘C:/MXAM_Reports/report.mxmr’);

Combine several MXMR reports to get one management overview (BETA)

  • MXMR reports that have been created for different models using the same project configuration can be combined to get one report overview in HTML and PDF format.

  • The report overview has the same statistic information as in the short report format: Artifact overview, guidelines and check compliance overview, findings summary, heatmap, …

  • For more help, see the MXAM user guide: Use Case Scenarios > Run a Guideline Compliance Analysis > Run an analysis Using a batch Interface

Exact annotation mapping of a finding when reusing checks for different guidelines

  • Annotations are now mapped to exactly one finding with respect to the corresponding guideline and check ID.

Open an MXMR report with the web service automation plug-in ** (optional plug-in on request)**

  • A new command ‘openReport’ can be sent to the web service interface to open an MXMR report in the MXAM client.

Send a support request for MXAM or specific check findings to a configurable JIRA ticket system (optional plug-in on request)

  • Users can create JIRA tickets within MXAM addressing a companies centralized tool chain support. This feature can be used by companies that have custom checks and a JIRA ticket system.

  • The JIRA ticket can be created in the toolbar of MXAM for a general support request, specific checks, and findings. The ticket content is context-sensitive, meaning the attributes of the selected element will be automatically filled in.

  • Select a check or finding in the report perspective to create a ticket that refers to the selected element.

  • The JIRA system and ticket properties can be pre-configured in a configuration file.

Improvements

  • UI improvements in the Guideline Document editor.

  • The ‘Select ALL’ and ‘Deselect ALL’ operation in trees now changes only visible tree elements in case a filter is set.

  • The Annotations view shows only annotations of the selected report.

  • Improved connectability to MATLAB.

  • Added option to export a guideline document with selected guidelines and checks only. (#4513)

Bug Fixes

  • Fixed initialization of MXAM when _JAVA_OPTIONS were set in the environment. (#4468) - Fixed issue for MATLAB ignore lists to ignore Blocktypes and Masktypes that reside in a library when this library is used within a model. (#4525) - Fixed MXAM’s installer to accept an automated install XML with relative path. (#4491) - Fixed MXAM’s checking for write access to protected directories. (#4523) - Fixed link action for Stateflow elements in Artifact Navigation view if model has been closed. (#4531). - Fixed annotation mapping for ASCET findings by assuring that each finding has a unique ID. (#4561)

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

  • Fixed behavior on closing unsaved guideline document editors.

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

  • MATLAB: Fixed problem when loading reports of systems with masks or systems within libraries.

Guidelines, Checks, and Documents

Changes

  • Changed default parameter of misra_slsf_031_a to ignore UnitDelay and Memory block.

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

Tool Framework

Reloadable reports to share and view analysis results and continuously work on the report (BETA)

  • The new MXAM report format can be saved and re-opened for two different use cases:

    • View results: Opens the report in read-only mode to view results and make use of the filter and search options in MXAM.

    • Continue work: Opens the report by restoring the analysis environment (opening platform and artifact) to use operations such as rerun, repair, link actions, and annotation editing.

  • The report can also be created running a batch analysis using the ‘MXMR’ export type.

  • The syntax of the MXAM report format is XML and can be used to post-process results.

  • When closing the MXAM client window MXAM asks the user to save unsaved reports.

Improvements

  • Hook functions that are executed during analysis are now listed in the report.

  • New tooltips for artifact and parameter tables.

  • Scrolling in all Report and Detail views improved with only one scrollbar that reacts on mouse-over.

  • Response-time of expanding trees in Project documents and Report Navigation views improved.

  • Generating the table of contents (TOC) can be disabled when exporting a guideline document to avoid heap space problems. The TOC can be generated in Word afterwards.

  • Setting the author and timestamp for modified annotations.

  • New MXAM installer file extension .exe instead of jar. A JRE is included in the installer such that a host Java installation is not needed.

  • Focus set to comment input field in annotation wizard such that the user can start typing right away.

  • New Icon-set for: MXAM Project, Guideline Document, Chapter, Guideline, Check, Open Project, Open Report, Export Report, all view icons in report perspective.

  • Ignore-list path entries with wild cards have been improved:

  • fuelsys/fuel* ignores paths below fuelsys that start with ‘fuel’.

  • fuelsys/* ignores everything below fuelsys.

MATLAB Adapter

  • Support for MATLAB R2016a - New MES function mes_nargchk to avoid incompatibilities in different MATLAB versions with nargchk.

Bug Fixes

  • Applying ignore-lists to elements that have line breaks in the path has been fixed.

  • Scrollbar in report export wizard for list of reports fixed (#3988).

  • Exporting large guideline documents to Word or PDF can lead to a heap space error, especially while creating the table of contents. Generating the table of contents is now optional and can be created in Word afterwards (#3951).

  • MATLAB Adapter: Link Action to dSPACE Data Dictionary elements has been fixed.

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

  • The integrated FlexNet Publisher libraries have been updated to version 11.14.0.0. This update enables the license module to read dongle ids on systems running the WibuKey driver in version 6.32 or above. Older WibuKey driver versions are still supported.

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

  • Pre-configuration to force saving annotations next to the analyzed artifact or a sub directory thereof.

  • Restriction to one annotation per finding.

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)

    • Compact: contains all findings except for passed and ignored findings or those with annotations.

    • Short: contains the document structure and results for the check level

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

  • misra_slsf_052_a: State Labelling - Uniqueness

  • mes_tl_001: Avoidance of Implicit Saturation in TargetLink Blocks (only available in Functional Safety Solution)

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

  • The Artifact Navigation view now supports the ASCET module structure. The result is displayed for each sub level of the module by respecting only the findings that occur in this level. Selecting a sub level in the Artifact Navigation view shows the local findings in the Findings view.

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

  • ASCET: Implemented a workaround for creation of pictures. The issue was caused by ASCET not being able to import certain models.

Bug Fixes

  • #3292: Fixed ‘Save As’ for project files

  • #3155: Images of ASCET classes are not present in the image presented by MXAM.

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

Tool Framework

New introduction page with quick links

  • A new introduction page is shown at the first startup with quick links to help contents and tutorials

  • Menu to open the introduction page at any time under Help > Welcome Introduction

New Tutorials for typical use cases (Cheat Sheets)

  • New tutorials are available under Help > Tutorials…

  • The tutorials cover typical use cases for function developers and quality managers.

More tutorials to come…

Improved tree menus to filter and display guideline documents

  • Report Document Navigation view:

    • toggle for hierarchical/flat representation of guideline document

    • show violated guidelines only

    • show review guidelines only

    • show executed checks only

    • show implemented guidelines only

    • show repairable checks only

    • show number of findings

  • Report Artifact Navigation view:

    • show incompliant components only

    • show number of findings

  • Project Guideline Documents view and Document editors:

    • show review guidelines only

    • show implemented guidelines only

    • show repairable checks only

Configuration of project specific libraries

  • Project may specify custom library search directories that will be loaded when the project opens

  • Settings can be exclusive or extend the tool settings

HTML/PDF/Excel Reporting

  • New artifact result overview to summarize the results of all analyzed artifacts (chapter 1.1)

  • HTML/PDF report contains pictures of ASCET findings

  • XML report now has basic style information

ASCET Adapter

  • New ASCET adapter 4.5.2

  • HTML/PDF report contains pictures of findings

  • New adapter preferences:

    • temporary export path

    • list projects in artifact wizard

    • list referenced components separately in artifact wizard

    • clear artifact cache

    • enable analysis of file artifacts

  • Optimized analysis

    • improved model checkout behavior

    • improved picture export strategy

    • fixed redundant results

  • Annotations can be stored next to the AXL file by detecting the artifact location with the SCM interface

  • Fixed handling of hierarchical artifacts

  • Improved ASCET headless mode

  • New ‘Inapplicable’ finding if check implementation is not suitable for analyzed ASCET component, e.g. Modul-Check is inapplicable for ASCET Project.

Improvements

  • MATLAB batch analysis function can be configured to run multiple analyses

  • MATLAB batch analysis function can be configured to export multiple reports with different formats and types for each analysis

Bug Fixes

  • improved handling (speed) in guideline document tree (#2602)

  • fixed handling of paths with spaces (#2876)

  • fixed loading of projects using the MATLAB API if the project path contains white spaces (#2876)

  • fixed sorting of artifacts table in project overview

  • fixed an issue with the connection timeout to MATLAB

  • fixed an issue with creating MXAM content in locations without write access (#3100)

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)

  • tl_pr20100823_004: Saturation Code is Erroneously Omitted if Block Output is Merged with Subsequent Saturation Block (partly review check)

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

  • improved result heat map

  • added pictures of findings for ASCET

  • added artifact result overview

Bug Fixes

  • fixed internal links in the report’s heat map

V3.6.2 18-11-2015

Guidelines, Checks, and Documents

ASCET checks

  • improvement of existing checks

  • addition of new checks

V3.6.1 12-11-2015

Tool Framework

Bug Fixes

  • fixed creation of new versions for MXAM library items

  • fixed project perspective to display the current project after MATLAB batch analysis

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)

  • mes_sltl_002_a: Comparison of Floating-Point Signals in Simulink and TargetLink - mes_sltl_002_b: Comparison of Floating-Point Signals in Stateflow

New MISRA Simulink/Stateflow Checks

  • misra_slsf_043_g: Transitions - Unguarded Transitions - misra_slsf_045_d: Condition-Actions, Transition-Actions and State-Actions - Transition Actions and Entry Actions - misra_slsf_048_g: Stateflow Coding - Numbers

New MAAB Checks

  • jm_0002_a: Block Resizing - Visibility of Parameters

  • jm_0002_b: Block Resizing - Visibility of Port Names

New Critical TargetLink Known Problems Checks (available in MXAM DRIVE Functional Safety Solution)

  • tl_pr20061101_03: Merge Blocks in Enabled Subsystems (review check: only 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

  • Artifact full text filter added to artifact wizard.

  • Path to MATLAB tool artifacts is displayed in the artifact table.

Support for older ASCET versions

  • The ASCET adapter now supports ASCET versions from 6.1.0 up to 6.2.1. The ASCET adapter converts amd files to version 6.2.1.1 by XLS transformations. The checks are executed on these transformed files and in case of repair and save actions transformed back into the original version.

Changes

  • Using the MXAM core API requires a tool license at startup. Configure the working directory before initialization as follows: PathProvider.setCustomMxamWorkingDirectory(MXAMDRIVEDIRECTORY);

Bug Fixes

  • Placeholder in report names are resolved by headless mode.

  • Export of short PDF report fixed.

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

  • Improved performance and usability of the artifact selection wizard

  • Ascet: modules which are referenced by projects are no longer listed separately in the artifact selection wizard

Bug Fixes

  • MATLAB: Fixed an issue with executing MXAM projects in MATLAB batch mode with opened MXAM gui.

V3.4.1 24-04-2015

Features

  • Changed priority of results of type ‘REVIEW’ from above ‘FAILED’ to below ‘WARNING’

Bug Fixes

  • MATLAB: Fixed an issue with ignore lists not handling ‘masktype’ and ‘blocktype’ correctly

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

  • Sorting of library items with umlauts fixed.

  • Obligatory views can not be closed by the user.

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:

  • Open project

  • Run project

  • Request MXAM busy and execution state

  • Request results

  • Export results

  • Switch perspective

  • Shut down MXAM

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:

  • Select the check and execute the ‘Repair’ command from the context menu.

  • Repair single elements using the ‘Repair Element’ command in the ‘Element Description View’.

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

  • Release information such as the product version and name is available in the ‘Details’ tab of the mxam.exe ‘Properties’ dialog.

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:

  • The analysis progress dialog shows a summary of the processed check results during analysis.

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:

  • Check developers can put external java libraries into the libs/extern directory. These java libraries will be loaded at MXAM startup and are available to java checks.

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:

  • An option can be set to allow anyone contribute guidelines and checks in the bundle

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:

  • fixed XPCOM error during startup

  • user with sufficient rights could not change the status of a guideline document

ASCET Adapter:

  • ASCET adapter has been fixed and improved. See adapter release notes for more details.

  • Out of memory exception analyzing big ASCET projects fixed.

Report:

  • Out of memory exception during PDF export fixed.

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:

  • Chapter numbers of empty chapters in an generated report has been fixed.

Features

Application:

  • Recently used project list extended for up to five projects

  • Artifact configuration section per default collapsed. The expand/collapse status will be remembered over MXAM sessions.

Guideline Document:

  • The documents guideline references can be refreshed via the context menu in case the guidelines title or check references have been changed.

V2.7.3 21-Nov-2012

Bug Fixes

Application:

  • UTF-8 support for application preferences

  • Missing .adapters directory in user home directory has been fixed

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

  • Checkbox for default path in report export wizard fixed

  • Setup_oneKlick.exe fixed

  • Enumeration list in guideline editor fixed when deselecting values

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:

  • An artifact definition will now also save deselected artifacts.

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:

  • Changes made to the ASCET module after an analysis will be recognized by MXAM when running the second analysis.

  • When selecting the link ‘Open modul’ the module will not be exported from ASCET anymore.

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

  • The browser component to display a guidelines or checks rich text now uses a built-in Mozilla engine. All template properties are rendered as HTML and displayed in only one browser which makes the view perform much more smoothly.

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:

  • A silent client installation is provided for the network setup. Log files for each client will be created in the ‘client_installation/logs’ directory on the net drive

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:

  • Default run option ‘Connect to target platform’ when no project artifact available

  • New Project Link in Project Overview Editor removed

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:

  • Number of guidelines of a bundle is now displayed in the explorer tree

Other:

  • Concepts/Projects: Explaining the concept of an MXAM project

  • Launch icon and application icon for MXAM

V2.0.1 02-May-2011

Report:

  • The report element list has extended information to the artifact and check it belongs to.

  • Report type is now correctly initialized with ‘compact’.

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:

  • Current project: Link to open a project and information to the currently opened project

  • Run analysis of a project with three different run options:

* 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

  • Recently used projects: The last three recently opened projects with a link to open the project.

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

  • Ascet checks can be executed on the Ascet ‘.axl’ export format.

  • Ascet classes can be excluded from check analysis. A filter is implemented in the model chooser dialog.

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’.