Support MES Model Examiner® (MXAM)

What is MXAM?


MES Model Examiner® (MXAM) offers fast and reliable guideline compliance verification for Simulink®, Stateflow®, Embedded Coder®, TargetLink®, ASCET®, and Enterprise Architect® models, as well as Excel® data, using general and company-specific modeling guidelines and data rules.

Certified by TÜV SÜD for IEC 61508, ISO 25119, and ISO 26262

TÜV Certificate


What's New?

Highlights in MES Model Examiner® (MXAM) v.7.0

dSPACE TargetLink users will benefit from significant runtime improvements of TargetLink checks and the support of TargetLink 5.1.

Newly available MAB 5.0 guidelines focus on the prevention of division by zero in Simulink and Stateflow.


MXAM v.6.5

Highlights in MES Model Examiner® (MXAM) v.6.5

A number of detailed improvements enhance the overall tool responsiveness and usability.

The coverage of MAB 5.0 guidelines is improved further.

MXAM v.6.4

Highlights in MES Model Examiner® (MXAM) v.6.4

Enjoy the new visualization of your software model architecture.You can gain a quick overview of your model via this graphical overview of the six main metric values in one diagram.

New MAB Guidelines (Version 5.0) available.The document contains the guidelines of the official Mathworks Advisory Board guidelines document in version 5.0.

MXAM v.6.3

Highlights in MES Model Examiner® (MXAM) v.6.3

Focusing on user experience, a number of detailed improvements in user feedback and tool behavior is dedicated to enhance the daily work with MXAM. They provide a stable basis for upcoming exciting features.

MXAM v.6.2

Highlights in MES Model Examiner® (MXAM) v.6.2

Clone group detection
The clone group metric identifies groups of subsystems that are almost identical. Such repetitive implementation, potentially created by copy/paste actions during modeling, increases the overall complexity of a model and thus should be avoided.

Screenshot MXAM 6.2 Clone Groups


Improved MATLAB batch execution
A new configuration option for the MATLAB API allows synchronous execution of batch tasks.

Compatibility with Matlab 2019b and TargetLink 5.0

MXAM v.6.1

Highlights in MES Model Examiner® (MXAM) v.6.1

Architectural metrics view

A new view in the report perspective of the MXAM Functional Safety Solution shows MXRAY metrics, supports sorting, and filtering. Tables and trees can be exported to Excel.

MXAM v.6.0

Highlights in MES Model Examiner® (MXAM) v.6.0

Enhance static model analysis with architectural aspects (BETA)

Static analysis of MATLAB models is complemented by MXRAY model metrics to evaluate adherence to architectural design principles. Useful functionalities of the MXAM analysis framework, such as use of parameters, annotations, ignore lists, and reporting options, are also available.

New MXRAY model metrics guidelines and checks (Functional Safety Solution)

MXRAY checks focus on Restricted Local Complexity, Restricted Number of Hierarchy Levels, Restricted Number of Inports and Outports, Restricted Cyclomatic Complexity, and Use of Effective Interfaces.



Manual Installation

  • Installer: Install MXAM by executing the setup file (.exe) and follow the setup instructions.
    • The startup of the installation process might take a while depending on the security settings of the client machine.
    • Installation to a write-protected directory: Right click the setup file and execute as administrator.
  • Zip archive: Unzip the archive into any directory

Automatic Headless Installation

  • Run the MXAM installation once on a machine and save your automatic installation data in the Finish Panel to auto-install.xml.
    With this data, you will be able to run the same installation on another similar machine.
  • Configure the auto-install.xml
  • Run the automatic installation: >>[installer-name].exe [ABSOLUTE-PATH/auto-install.xml]


Update to the Latest Version

  • If you added MXAM folders permanently to the MATLAB path, please remove all of these folders from the path.
  • If you installed the old version in a folder with a version postfix (e.g. x:\project\matlab\mxam_x_x), you can keep that directory as a backup.
  • If you installed without a version postfix, you could rename the old installation directory to one with a version postfix as a backup.

Update from MXAM 1 to a Current Version of MXAM

A migration kit to migrate customer-specific checksets and checks is available upon request.
Please contact

System Requirements

The following system requirements must be in place to use MXAM:

  • Windows Vista, Windows 7, Windows 8, Windows 10 (64-bit versions)
  • Java 8 or higher needs to be installed on your system (the tested version to work with MXAM is AdoptOpenJDK 8).
  • Webservice Port 10117 (default) must be accessible. Can be changed in tool preferences.
  • System requirements when using MXAM with MATLAB®/Simulink®/Stateflow®, and TargetLink®:
    • MATLAB® version see table below
    • TargetLink® (base suite) version see table below
    • Port 5564 (default) must be accessible
  • System requirements when using MXAM with ASCET: ASCET 6.1 to 6.4.5 Beta
  • System requirements when using MXAM with EXCEL: Excel 2003 and higher

Compatibility of each MXAM release with MATLAB and TargetLink releases

MXAM Release MATLAB Release TargetLink Release
7.0 R2013b - R2020b TL 3.5 - TL 5.1
6.5 R2011b - R2020b TL 3.3 - TL 5.0
6.4 R2011b - R2019b TL 3.3 - TL 5.0
6.3 R2011b - R2019b TL 3.3 - TL 5.0
6.2 R2011b - R2019b TL 3.3 - TL 5.0
6.1 R2011b - R2019a TL 3.3 - TL 4.4
6.0 R2011b - R2019a TL 3.3 - TL 4.4
5.3 R2011b - R2018b TL 3.3 - TL 4.4
5.2 R2011b - R2018b TL 3.3 - TL 4.3
5.1 R2011b - R2018b TL 3.3 - TL 4.3
5.0 R2011b - R2018a TL 3.3 - TL 4.3
4.7 R2009b - R2017b TL 3.2 - TL 4.3
4.6 R2009b - R2017b TL 3.2 - TL 4.2
4.5 R2009b - R2017a TL 3.2 - TL 4.2
4.4 R2009b - R2017a TL 3.2 - TL 4.2
4.3 R2009b - R2016b TL 3.2 - TL 4.2
4.2 R2009b - R2016b TL 3.2 - TL 4.2
4.1 R2007b - R2016b TL 2.2 - TL 4.1
4.0 R2007b - R2016a TL 2.2 - TL 4.1
3.9 R2007b - R2015b TL 2.2 - TL 4.1

Quick Start

Starting MXAM

  • For MATLAB platform: Open MATLAB, navigate to the MXAM installation directory, and execute >>mxam
  • For other platforms: Start MXAM using the program shortcut or go to the MXAM installation directory and execute mxam.exe

Starting an Analysis

For MATLAB platform:

  • Open a model in MATLAB
  • Press "Analyze" in MXAM
  • Select the model in the artifact dialog
  • Press "Finish"


  • Press "Analyze" in MXAM
  • Press "Open ASCET 6" in the artifact dialog if it is not yet open
  • Press "Refresh" to fetch models from the database
  • Press "Finish"

For Others:

  • In the Project perspective, press "Add..." in the Artifact Section to add an artifact
  • Select the artifact and press "Finish"
  • Press "Analyze"


  • Go to the "Project Guidelines" perspective to see which guidelines will be checked during the analysis.
  • To see the pool of all available guidelines, go to the "Library Browser" perspective and select the "Guidelines" view.


If you have any suggestions to help us improve the MES Model Examiner®, please do not hesitate to contact us:

User Instruction

MXAM User Guide

User Guide

The MES User Guide presents clear instructions on how to work with the MES Model Examiner® (MXAM). It provides users with information about getting started and working with MXAM. You can easily call the User Guide by clicking on "Help > Help Contents" in the menu (see image).

MXAM Videos

In this video, Model Engineering Solutions (MES) will demonstrate how to set up an MXAM project as an mxmp-file. You will learn how to create and configure an MXAM project and how to save and load a project. Since this video is focused on the first step of the MXAM workflow, basic knowledge of the workflow is needed in order to watch this video.

In this video MES will explain how to understand reports and demonstrate how to work with them in order to make your model guideline compliant. You will need to have basic knowledge about the MXAM workflow to watch this video.


Release Notes - MXAM v.7.0 (April 2021)

Tool Framework


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


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


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