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
Highlights in latest versions of MES Model Examiner® (MXAM) v.9.2
Identification of Duplicate Stateflow Code
Duplicate code shall be avoided because it is error-prone, hard to maintain, and inefficient. The new check mes_slsf_3800 screens your Stateflow charts to find identical or similar code segments.
Improved Handling of AUTOSAR Layers
A new global parameter ignores the model layers above the AUTOSAR Runnables to focus on the handwritten model parts.
Increased Robustness of Model Element Links
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. This simplifies continued work with model repairs and reloaded reports.
Highlights of MES Model Examiner® (MXAM) v.9.1
Automatic Validation of the Model Before Analysis
In order to make sure that your model and setup is ready for a static analysis, MXAM now automatically pre-validates the Simulink® model.
Integrated Support for Model Variants
MXAM further supports the use of Variant blocks. The scope of the analysis can be configured by a global parameter to include either only active variants or all variants. This parameter is applied to all checks.
Extended Support for Assisted and Automated Safe Repair of Selected Findings
Additional Checks for MAB 5.0 Guidelines
Improved Support for the AUTOSAR Use-Case
Highlights 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.
New guidelines are added focusing on implicit data type conversions, saturation settings of Integrator blocks, and layouts in Stateflow.
- 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 firstname.lastname@example.org.
The following system requirements must be in place to use MXAM:
- Windows Vista, Windows 7, Windows 8, Windows 10 (64-bit versions), Windows 11, 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.7
- 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.2||R2015b - R2022b||TL 4.1 - TL 2022-b|
|9.1||R2015b - R2022b||TL 4.1 - TL 2022-b|
|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|
- 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" in the artifact dialog if it is not yet open
- Press "Refresh" to fetch models from the database
- Press "Finish"
- 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:
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).
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.9.2 (July 2023)
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.
- 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)
- 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.
- 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.
- 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.
- 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)