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.
What's New?
Highlights in latest versions of MES Model Examiner® (MXAM) v.9.0
Assisted and Automated Safe Repair of Selected Findings
MXAM streamlines modeling with a new repair function for individually selected findings. A new dialog shows detailed information about the model part, specific reason, and suggested repair action for each finding, allowing more control over repair activities.
New MES Checks for Modeling Best Practices in Stateflow
Increased Coverage of MAB Guidelines
Important Support Information
Updated Licenses for MES Model Examiner® (MXAM)
MXAM has released a new major version and thus requires a license update. License updates are available for all active customers, i.e. customers with a valid support and maintenance contract. For MXAM 9.0, the MES License Support team will contact all active customers within the next few days to provide updated license files. The updated licenses will remain compatible with older tool versions.
Update Required for Licensing Servers Running FlexNet Publisher Versions Older than FNP 11.19.
An update of the MES license module in the latest MES tool releases requires the update of the FNP license server to version 11.19.1 or above. It can be downloaded from this page.
Highlights in MES Model Examiner® (MXAM) v.8.2
Generic MXRAY Model Metric Check
Through a new check matlab_mxray_generic_0001, any numeric model metric can be assessed, by configuring an upper bound for its numeric value. A finding is created for each structural element with a metric exceeding the upper bound value.
Queuing of CI License Checkouts
MXAM now supports queuing license requests when there is no available license at the time of request. A timeout can configured. This feature requires the MXAM_CI_EXEC license.
Increased Coverage of MAB Guidelines (version 5.0)
Several new checks cover numerous best practices for good modeling style and configuration in Simulink and Stateflow.
Highlights in MES Model Examiner® (MXAM) v.8.1
Automatic return of unused licenses
When licensed instances of the MXAM application remain idle for more than 6 hours, their licenses are automatically returned to the license server. This allows a more effective license usage and avoids unused licensed tool instances. The affected idle MXAM instances are blocked until user input requests a new license checkout.
Support of Linux operating systems (BETA)
New Guidelines for Targetlink (Versions 5.0, 5.1, and 5.2)
Six new guidelines focus on optimizing Targetlink code generation and MISRA C compliance.
Highlights in MES Model Examiner® (MXAM) v.8.0
Extended Reporting Details
Finding messages referencing additional model elements now include footnotes with link details when model links are not resolvable (e.g. in xlsx or PDF reports).
Report details are consolidated among report formats, adding the architectural metrics table to html and PDF reports, and parameter configuration details to xlsx reports.
Additional Guidelines
New guidelines are added focusing on implicit data type conversions, saturation settings of Integrator blocks, and layouts in Stateflow.
Installation
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]
License Configuration
Learn more about the MES Quality Tools License Configuration, general license questions and the MES licensing models as well as how to change your MAC-ID.
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 sales@model-engineers.com.
System Requirements
The following system requirements must be in place to use MXAM:
- Windows Vista, Windows 7, Windows 8, Windows 10 (64-bit versions), or
- Linux (64-bit versions), tested with Ubuntu 20.04.1 Desktop.
- Java 8 to 15 needs to be installed on your system (the tested version to work with MXAM is AdoptOpenJDK 8).
- System requirements when using MXAM with MATLAB®/Simulink®/Stateflow®: MATLAB® version see table below
- System requirements when additionally using TargetLink®: TargetLink® (base suite) version see table below
- System requirements when using MXAM with ASCET: ASCET 6.1 to 6.4.6
- 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 |
9.0 | R2015b - R2022b | TL 4.1 - TL 2022-B |
8.2 | R2015b - R2022a | TL 4.1 - TL 5.2 |
8.1 | R2015b - R2021b | TL 4.1 - TL 5.2 |
8.0 | R2015b - R2021b | TL 4.1 - TL 5.2 |
7.3 | R2013b - R2021b | TL 3.5 - TL 5.2 |
7.2 | R2013b - R2020b | TL 3.5 - TL 5.1 |
7.1 | R2013b - R2020b | TL 3.5 - TL 5.1 |
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"
For ASCET:
- Press "Analyze" in MXAM
- Press "Open ASCET" 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"
Guidelines
- 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.
Suggestions
If you have any suggestions to help us improve the MES Model Examiner®, please do not hesitate to contact us:
Email: mxam@model-engineers.com
User Instruction

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.
MES Webinar Series
Find all upcoming webinars. Participation in our webinars is of course free of charge. Webinars are held in English (unless otherwise stated).
Release Notes - MXAM v.9.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)