Support MES Model Examiner® (MXAM)

What is MXAM?

TÜV SÜD

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?

 

MXAM v.10.2

Highlights in latest versions of MES Model Examiner® (MXAM) v.10.2

Efficient TargetLink Code Generation of Look-Up Table Blocks with Newly Added Checks
Optimize Look-Up Table code by reusing variables across different Look-up Tables with the same axis or table values.
Ensure consistent specification of property values and enable reuse of table function code through consistent configuration.

Simplified license configuration check with License Manager version 2.3
New CLI options allow you to set and verify the current license configuration setup without automatically using the GUI.
It is now possible to test the license configuration if Flexera variables (LM_LICENSE_FILE, MES_LICENSE_FILE) are defined using the "Test Server" button in the License Manager.

► Read about all new features in the release notes

MXAM v.10.1

Highlights of MES Model Examiner® (MXAM) v.10.1

MISRA AC SLSF:2023 Document Now Available
Modeling design and style guidelines for using Simulink and Stateflow can now be applied with MXAM.
The document is a revised version of the 2009 MISRA AC SLSF document and updates the guidelines to reflect new Simulink versions, adapt best practices, and clarify modeling patterns.

Restructuring of Global Analysis Parameters
To provide a better overview and simplify technical details, the global parameters have been restructured.
Analysis parameters are used to exclude specific model parts during the analysis, including auto-generated AUTOSAR frames and standard library blocks.

Improved Performance of Data Flow Analysis
MXAM checks that require thorough signal tracing, such as for guidelines sdt_sc006 or sdt_il001, have been improved to achieve shorter execution times.

► Read about all new features in the release notes

MXAM v.10.0

Highlights of MES Model Examiner® (MXAM) v.10.0

Integration of MES Model & Refactor® (MoRe)
MXAM Functional Safety Solution now includes MoRe in all user licenses. Integrated in the user context menu of the Simulink editor, MoRe automates layouting and simplifies model refactoring, making daily modeling tasks easier, faster, and less error-prone.

Easy Analysis of EmbeddedCoder AUTOSAR Runnables
MXAM's extended global parameter allows you to restrict the analysis to EmbeddedCoder AUTOSAR Runnables only i.e. ignore auto-generated frame.

New Functional Safety Guidelines and Checks
Focus on defensive implementation techniques in Simulink/Stateflow and Correct Usage of Reusable Components.

MXAM v.9.3

Highlights of MES Model Examiner® (MXAM) v.9.3

Expedited Tool Installation and Distribution
The new installer offers extended options to roll out MXAM in your environment. A global license configuration can be set up to simplify the tool distribution in your organization.

Additional Checks Improve Signal Connections
Specific checks ensure consistent naming and align the naming of signals, ports, and blocks. This prevents erroneous signal connections and improves the traceability between model and code.

MXAM v.9.2

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

MXAM v.9.1

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

MXAM v.9.0

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.

MXAM v.8.2

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.

MXAM v.8.1

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.

MXAM v.8.0

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
  • Caution: If your installation path contains a special symbol from the following list, MXAM will fail to start and issue an error dialog: #, %, ;. Avoid having these symbols in your MXAM path.

Command Line Usage and Silent Installation (MXAM versions 9.3.0 and higher)

  • The MXAM installer has the following flags you can set in the Command Line: /D, /S, /lang, /lic and /conf. These flags are all optional. Only when using the /S silent flag is it strongly recommended to also specify the installation directory using the /D flag.
  • /D: Specifies the installation directory. Note that this flag always needs to be set at the end of the cmd usage. Not placing it last will result in errors.
  • /S: Enables a silent installation, e.g.

    mxam-installer.exe /S /D=D:\path\to\mxam

  • /lang: This let's you choose in which language you wish to open the installer. The installer uses your systems language by default, but if you wish for the installer to have a specific language, you can specify one of 3 language shortcuts. The shortcuts available are: DE (German), EN (English) and ZH (Simple Chinese). Any other value passed to the /lang parameter will default to english. E.g.

    mxam-installer.exe /lang=EN

  • /lic: Used to set a default license file for your MXAM installation. The file you specify will be copied to the license folder of your MXAM installation, e.g.

    mxam-installer.exe /S /lic=D:\path\to\license.lic /D=D:\path\to\mxam

  • /conf: Used to set a customized configuration for your installation. The flag expects a folder with the following specific folder structure:

    my-config
    |-- com.modelengineers.mxam.core.prefs
    |-- com.modelengineers.mxam.ui.common.prefs
    |-- com.modelengineers.mxam.ui.jiraSupport.prefs
    |-- lismo.config
    |-- adapters
    |   |-- com.modelengineers.mxam.tooladapter.ascet6.ini
    |   |-- com.modelengineers.mxam.tooladapter.file.ini
    |   |-- com.modelengineers.mxam.tooladapter.matlab.ini
    |   |-- com.modelengineers.mxam.tooladapter.mxamreport.ini

    You can find a template folder of the configuration under doc/MXAM_X_Y_Z_config_template.zip in your MXAM installation folder. Simply copy the template folder and start editing the preferences and configs relevant to you. For specific explanations regarding each config property, please consult the MXAM Help Contents (in MXAM under Help > Help Contents), e.g.

    mxam-installer.exe /S /conf=D:\path\to\config\folder /D=D:\path\to\mxam

Command Line Usage and Automatic Headless Installation (MXAM versions 9.2 and lower)

  • 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 sales@model-engineers.com.

System Requirements

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

  • Windows 7, Windows 10 (64-bit versions), Windows 11 or
  • Linux (64-bit versions), tested with Ubuntu 20.04.1 Desktop.
  • Java Version 11 to 21 (64-bit versions) needs to be installed on your system (the tested version to work with MXAM is Adoptium OpenJDK 11).
  • 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

Compatibility of each MXAM release with MATLAB and TargetLink releases

MXAM Release MATLAB Release TargetLink Release Compatible Java Versions
10.2 R2019b - R2024a TL 5.0 - TL 2023b 11 - 21 (64bit)
10.1 R2019b - R2023b TL 5.0 - TL 2023b 11 - 21 (64bit)
10.0 R2019b - R2023b TL 5.0 - TL 2023b 11 - 21 (64bit)
9.3 R2015b - R2022b TL 4.1 - TL 2022b 8 - 15 (64bit)
9.2 R2015b - R2022b TL 4.1 - TL 2022b 8 - 15 (64bit)
9.1 R2015b - R2022b TL 4.1 - TL 2022b 8 - 15 (64bit)
9.0 R2015b - R2022b TL 4.1 - TL 2022b 8 - 15 (64bit)
8.2 R2015b - R2022a TL 4.1 - TL 5.2 8 - 15 (64bit)
8.1 R2015b - R2021b TL 4.1 - TL 5.2 8 - 15 (64bit)
8.0 R2015b - R2021b TL 4.1 - TL 5.2 8 - 15 (64bit)
7.3 R2013b - R2021b TL 3.5 - TL 5.2 8 - 12 (64bit)
7.2 R2013b - R2020b TL 3.5 - TL 5.1 8 - 12 (64bit)
7.1 R2013b - R2020b TL 3.5 - TL 5.1 8 - 12 (64bit)
7.0 R2013b - R2020b TL 3.5 - TL 5.1 8 - 12 (64bit)
6.5 R2011b - R2020b TL 3.3 - TL 5.0 8 - 12 (64bit)
6.4 R2011b - R2019b TL 3.3 - TL 5.0 8 - 12 (64bit)
6.3 R2011b - R2019b TL 3.3 - TL 5.0 8 - 12 (64bit)
6.2 R2011b - R2019b TL 3.3 - TL 5.0 8 - 12 (64bit)
6.1 R2011b - R2019a TL 3.3 - TL 4.4 8 - 12 (64bit)
6.0 R2011b - R2019a TL 3.3 - TL 4.4 8 - 12 (64bit)

Compatibility of MXAM Release with Flexeratool and Dongledriver

MXAM Release Flexera Version (minimum) Dongledriver Version
9.0.0 and newer 11.19.1 6.60 and newer
from 8.1.0 to 8.2.0 11.16 from 6.40 up to (but not including) 6.60
from 3.9.1 to 8.0.0 11.14 from 6.32 to 6.40
3.9.0 and older 11.13 6.30

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

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

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.10.2 (July 2024)

Simply Better Models

Efficient TargetLink Code Generation for Look-Up Table Blocks with New dSPACE Guidelines

  • Optimize Look-Up Table code by reusing variables across different Look-up Tables with the same axis or table values with check mcheck_cgtl_4309 covering guideline TL_ADV_LUT_TABLE_VECTOR_MERGE.
  • Improve efficiency and safety across your Software projects by enforcing the usage of a set of allowed TargetLink data dictionary variables with mcheck_cgtl_4000 covering guideline mes_cgtl_4000.
  • Enable table function code reuse by ensuring a consistent configuration of Look-Up Tables with mcheck_mes_cgtl_4308 and mcheck_mes_cgtl_4000 covering guideline TL_ADV_LUT_COMMON_SETTINGS, and the associated automated repair feature.

New Guideline Document “Towards MISRA C:2012/MISRA C:2023 Compliance with TargetLink and MXAM” is available

  • The new guideline document helps software projects that require MISRA C compliance of the automatically generated code to significantly reduce the number of MISRA C violations at code level.

Improved Maintainability with Consistent Naming of Model Elements

  • Ensure that input signals of BusAssignment blocks match the names of the assigned bus elements with guideline mes_slsf_2104.
  • New repair functionality added to mcheck_mes_slsf_1102 to name signals at a source consistently.
  • Improved mcheck_mes_slsf_9101 to support the ‘Hide Automatic Names’ feature of blocks. (#11937)
  • Improved the repair of check mcheck_misra_slsf_026_a to also repair the ‘Hide Automatic Names’ property of blocks if needed.
  • Improved check mcheck_mes_slsf_1106 to also allow the value ‘FromPortIcon’ for block property ‘ShowPortLabels’ when all port block names are non-generic. (#11969)

MISRA AC SLSF-Compliant Language Subsets in Plant and Controller Models

  • Ensure that a controller model only consists of supported blocks with mcheck_misra_slsf_005_a covering guideline misra_slsf_005.
  • Ensure that a plant model only consists of allowed blocks with mcheck_misra_slsf_005_d covering guideline misra_slsf_005.

Strengthened Strong Typing Enforcement with MISRA AC SLSF Guidelines

  • Ensure that inputs of bitwise operator blocks are of data type unsigned integer with misra_slsf_057.

Simplified review of the use of Stateflow elements

  • Support the review of sub-chart usage in Stateflow with mcheck_sf_generic_0001 covering guidelines misra_slsf_039 and misra_slsf_039_b.
  • Support the review of S-Function usage in Stateflow with mcheck_sf_generic_0001 covering guideline misra_slsf_014.

Simplified and Accelerated Model Editing

  • Updated MoRe to version 4.19 (Functional Safety Edition). See the latest additions to MoRe here.

Automation

Simplified license configuration check with License Manager version 2.3

  • New CLI options enable you to set and check the current license configuration setup without automatically using the graphical user interface.
  • It is now possible to test the license configuration if Flexera variables (LM_LICENSE_FILE, MES_LICENSE_FILE) are defined using the “Test Server” button in the License Manager.

Improvements in Batch Workflow

  • Changed the default value of b_synchronousExecution to true, as the default of asynchronous behavior may not be expected by the user.
  • Importing a report in ‘continue work’ mode will now automatically switch to ‘read-only’ mode if the current library content of MXAM does not contain the data of the report. (#11905)
  • Added loading of MXAM paths in MATLAB before running a batch analysis to avoid path problems. (#11979)

Performance

Reduced Runtime of Model Analysis

  • Pre- and postprocessing of checks has been improved to achieve a better runtime performance.
  • Improved the signal tracing through variant subsystems to achieve shorter run times. (#11976)
  • Improved the runtime performance of model analysis by integrating state-of-the-art MATLAB functionalities. (#11481, #11947)
  • Improved run time of signal naming check mcheck_mes_slsf_1102. (#12063)

Workflow

Increased Usability for Working with Guideline Documents

  • Project specific justifications for selections can now be added to the export of guideline documents by selecting the appropriate option when exporting the document. (#11986)
  • Guideline documents now have a description field visible in the Details view, that provides general information about the purpose of the document.

Updated Starter Set Documents and Default Projects

  • New and state-of-the-art guidelines have been added to the documents ‘MXAM-Starter Set for TargetLink Users’ and ‘MXAM-Starter Set for Embedded Coder Users’.
  • Refined names of default projects to a consistent and understandable format.

Simplified License Setup during Installation

  • The installer now has a new page to allow for easy configuration of a license via our License Manager.

Improvements in GUI Workflow

  • Simplified handling of document trees in views by adding an option to expand the visible tree to certain types instead of depth levels.
  • Fixed context menu in guideline editor with wrongly activated option “Remove element” for restricted documents. (#12111)
  • Consolidated behavior for creating of folders when saving MXAM files. (#11917)

Compatibility Considerations

  • Removed deprecated classic check repair. All custom checks with old automatic repair ability must be converted to the new finding-based repair API to retain repairability.
  • It is no longer possible to select MATLAB versions that are incompatible with MXAM in the adapter preferences. When configuring MATLAB versions directly, an error (below lower bound) or warning (above upper bound) is raised with a link to the compatibility table. In addition, connecting to MATLAB versions below the lower bound is no longer allowed in any mode.
  • Updated template for implementing custom checks, located in ‘docm-checktemplates’. The old template is still supported, but will be deprecated in a future release.

Bug Fixes

Framework Bug Fixes

  • Fixed synchronization of compress button in export and save dialogs for reports. (#11917)
  • A warning dialog will be shown if the user tries to edit a non-existing document out of the Project Settings page. (#11928)
  • Updated JMBridge to 2.4 with fixed polling mode and improved slash handling in subsystem names. (#11955)
  • Fixed Simulink menu integration in combination with different initialization for paths of MXAM and MoRe in MATLAB. (#11994)
  • Improved handling of Java class path in MATLAB when using both, MXAM and MoRe. (#11962, #11995)
  • Removed customized tool tip handler to fix unexpected MXAM crash in some rare cases.
  • Fixed query and error handling during initiation of MXAM in MATLAB. (#12015)
  • Improved error message in case of insufficient memory when exporting a report. (#12049)
  • Adapted MXAM working directory to the actual installation directory to avoid java class errors. (#12058)
  • Simplification of Ignore List dialog to always open the file in MXAM’s editor after creation. (#12044)
  • Fixed an error during reconnection after MXAM idling. (#12077)
  • Fixed a timing issue when trying to repair closed models in MATLAB. (#12060)
  • Enabled repairing of findings in referenced models. (#12085)

Guideline and Check Bug Fixes

  • Fixed an issue where mcheck_na_0002 reported unjustified review findings for mask parameters of type “Checkbox”. (#11752)
  • Fixed an issue where mcheck_na_0002 reported unjustified review findings for TL UnitDelay blocks with Output Type “Int32”. (#11752)
  • Fixed an issue where the tracing through BusAssignment blocks in mcheck_mes_slsf_1102 and mcheck_mes_slsf_1103 caused an aborted finding. (#11892)
  • Fixed an issue where run time erros occurred when the global parameter AnalyzeAutosarRunnableSubsystemsOnly was set to true and the analyzed artifact was a subsystem. (#11981)
  • Fixed an issue where the data type of TL_Signum blocks with default class was not read correctly in TargetLink 5.1. (#12039)
  • Fixed an issue where mcheck_tl_pr20111118_02 aborted when a model consisting of a single TL_Function block with ‘Make function reusable’ option activated was analyzed. (#11993)
  • Fixed an issue where bus signals were not analyzed correctly in mcheck_jc_0650 when a switch block had a bus signal as input. (#12004)
  • Fixed an issue where several checks aborted on AUTOSAR composition models when the parameters Global.AnalyzeAutosarRunnableSubsystemsOnly and Global.ResolveModelreferences are set to true. (#12101)