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

► Read about all new features in the Release Notes

System requirements

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

  • Windows Vista, Windows 7, Windows 8, Windows 10 (64-bit versions)
  • Web service Port 10117 (default) must be accessible and can be changed in the tool preferences.
  • System requirements when using MXAM with MATLAB®/Simulink®/Stateflow®, and TargetLink®:
    • Java 8 or higher needs to be installed on your system. The tested version to work with MXAM is 'AdoptOpenJDK 8'.
    • 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.4-0133
  • 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
6.0 R2011b - R2019a TL 3.1 - TL 4.4
5.3 R2011b - R2018b TL 3.1 - TL 4.4
5.2 R2011b - R2018b TL 3.1 - TL 4.3
5.1 R2011b - R2018b TL 3.1 - TL 4.3
5.0 R2011b - R2018a TL 3.1 - TL 4.3
4.7 R2009b - R2017b TL 3.1 - TL 4.3
4.6 R2009b - R2017b TL 3.1 - TL 4.2
4.5 R2009b - R2017a TL 3.1 - TL 4.2
4.4 R2009b - R2017a TL 3.1 - TL 4.2
4.3 R2009b - R2016b TL 3.1 - TL 4.2
4.2 R2009b - R2016b TL 3.1 - 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
3.8 and 1.9.0 R2007b - R2015b TL 2.2 - TL 4.1


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


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]

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 Guide

MXAM 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).

How to 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.

Release Notes - MXAM v 6.0 (Oktober 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®) 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'.


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


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


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