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

Highlights in latest versions 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.
    • 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.
  • Zip archive: Unzip the archive into any directory

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

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.1 (April 2024)

Tool Framework

Used ASCET installation can now be configured

  • Added option to select an ASCET version from the installed versions, or the last opened one, in the preferences.
  • Added CLI parameter -ascetVersion to select the ASCET version from headless mode.

Improvements

  • Updated MoRe to version 4.17.
  • Added web service request to export guideline documents via /guidelineDocExport POST.
  • Added MATLAB API mxamapi_exportGuidelineDocuments to also export guideline documents.
  • Added filter to show only repairable findings in the report perspective.
  • Added CLI parameter -ci or -automation to ensure that MXAM is running in automation mode. This requires an MXAM_CI_EXEC license feature.
  • Project specific document selection can now be justified with comments.
  • Updated installer dialog in a cleaner and faster way.
  • Accelerated analysis progress by updating the handling of mes_progress. (#11754)
  • Cleaned up obsolete global parameters.
  • Added warnings for when the used Java version is not compatible with MXAM.
  • Updated Log4j to version 2.23.1.

Bug Fixes

  • Changed the execution order to avoid hook handling on wrong artifact. The preArtifactHook is now executed before the artifact structure analysis. (#11679)
  • Removed creation of link to the user directory. (#11689)
  • Fixed incorrectly formatted multilinks in finding details that occurred randomly. (#11062)
  • Fixed potential caching problems when using the ResolveModelReferences parameter. (#9656)
  • Fixed recognition of old MoRe installations. (#11888)

Guidelines, Checks, and Documents

New MISRA AC SLSF:2023 Guidelines Available

  • All guidelines from the new “MISRA AC SLSF:2023 - Modelling design and style guidelines for the application of Simulink and Stateflow” document are now available in MXAM.

Improved Performance of Data Flow Analysis

  • Checks that require thorough signal tracing, such as for guidelines sdt_sc006 or sdt_il001, have been improved to achieve shorter execution times.

Extended the Assisted and Automated Safe Repair of Findings

  • New repair functionality has been added to checks for the following topics:
    • Model Info Appearance: mcheck_misra_slsf_022_a
    • Stateflow Chart Data Typing: mcheck_misra_slsf_034_c
    • Stateflow Chart Initialization Settings: mcheck_misra_slsf_034_d
    • Usage of “From” and “Goto” Blocks - Tag: mcheck_misra_slsf_018_b
    • TargetLink Specifications for Stateflow Input Variables: mcheck_mes_cgtl_4301
    • Duplicated Inports: mcheck_sdt_il001_b, mcheck_ds_0038

User Notification for Custom Check Implementations

  • The framework for the check-based repair will be discontinued in the upcoming release MXAM 10.2 (July 2024). Please refer to MXAM’s developer guide for details on the implementation of finding-based repairs. The check-based repair functionality has been superseeded by the finding-based repair feature since MXAM 9.0.

New Checks Available Covering MAB Guidelines (5.0)

  • Ensure that calibration parameters are configured as named constants with guideline jc_0645.
  • Ensure the correct value ranges for inputs of Sqrt, Reciprocal Sqrt blocks, and Math blocks with parts c, d, and f of guideline jc_0805.
  • Ensure the saturation on integer overflow for Abs and TL_Abs blocks with part a of guideline jc_0805.
  • Ensure the correct usage of bitwise and logical operators in Stateflow with guideline na_0001.

New Checks Available Covering dSPACE Modeling Guidelines for TargetLink (Versions 5.0, 5.1, 5.2 and 2022-B)

  • Ensure data type consistency between input and output signals of Discrete Transfer Fcn, Discrete State Space, and Discrete Filter blocks with mcheck_mes_cgtl_4211 covering guideline TL_RULE_DISC_LIB_TRANSFER_STATESPACE_FILTER_BLOCKS.

New Starter Set Documents

  • Explore, test, and apply a careful selection of up-to-date modeling standards from MISRA, MAB, and MES using MXAM’s newly structured Starter Set documents for TargetLink and EmbeddedCoder users. The preconfigured projects StarterSetFS.mxmp and EmbeddedCoder.mxmp can be used to load the documents.

Improvements

  • Checks that include signal tracing and color checking were improved to perform faster.
  • The guideline TL_RULE_DISC_LIB_INTEGRATOR_SETTINGS now also checks for vector signal inputs to integrator blocks via the mcheck_ds_0023_a. (#11814)
  • The MAB 5.0/MAAB 3.0 guidelines na_0008 and na_0009 now reference the new checks mes_slsf_1102, mes_slsf_1103, and mes_slsf_1104 to improve the usability. (#11895).
  • The check mcheck_mes_cgtl_4301 was updated to properly identify Stateflow charts that are intended for reuse. The corresponding guideline TL_RULE_STATEFLOW_EXPLICIT_INPUT_SPEC is now checkable fully automatically.
  • The check mcheck_ar_0001 was updated to use filepaths relative to the model so that annotations can be mapped correctly. (#11807)

Changes

  • The check for guideline misra_slsf_052_a will now compare state names across the entire state machine (model) to better cover the guideline. (#11656)
  • Removed the shared parameters ‘MISRA_SL_SF.OperatorClasses’ of mcheck_misra_slsf_038_a and adapted check behavior to improve user experience. (#11756)
  • Merged functionalities of mcheck_misra_slsf_018_b_1 and b_2 into one check mcheck_misra_slsf_018_b.
  • To provide a better overview and simplify technical details, the global parameters have been restructured and the following parameters were removed as they are no longer used:
    • DebugInfo, UseCache, LogFilterStatistics, WarningLevels, NoteLevels, Progressbar step, Global.SkipTLBlockChildren, and Global.SkipSLObjectsInCharts.
  • The check mcheck_misra_slsf_038_b was refactored with new check parameters to increase usability.

Bug Fixes

  • Fixed an issue where the analysis of mcheck_na_0024 with enabled global parameter ‘Global.IgnoreBlocksByAttrFormatStr’ may have been corrupted if the model contained certain Stateflow elements. (#11821)
  • Fixed an issue where mcheck_mes_tl_pr20060928_17 would give false positive findings when variable groups named ‘Components’ were present in the TargetLink Data Dictionary. (#11678)
  • Fixed an issue where mcheck_misra_slsf_016_d would report false positive findings for Argument In / Argument Out, Model Reference and MATLAB Function blocks. (#11620, #8593)
  • Fixed an issue where mcheck_sdt_sc007_a aborted if the TargetLink Data Dictionary scaling definition of the port was not valid. (#11750)
  • Fixed an issue where mcheck_misra_slsf_042_d got stuck while analyzing Stateflow charts with looping transitions. (#11680)
  • Fixed an issue where mcheck_misra_slsf_026_a reported failed findings on block names that were not visible. (#11445)
  • Fixed an issue where mcheck_mes_slsf_2200 reported findings on Math blocks for functions that do not allow the Rounding Mode to be specified. (#11771)
  • Fixed an issue where mcheck_misra_slsf_018_c would give false positive findings due to not taking tag visibility of Goto blocks into account. (#11697)
  • Fixed an issue where mcheck_mes_sltl_002_b did not analyze the TargetLink data type correctly. (#11751)
  • Fixed an issue where mcheck_jc_0481 aborted if non-scalar signals with vector-valued boundaries were part of value comparisons in Stateflow. (#11797)
  • Fixed an issue where mcheck_misra_slsf_026_a aborted when block names had special characters. (#11862)
  • Fixed an issue where mcheck_mes_cgtl_4307 aborted on TargetLink 23.1 models. (#11894)
  • Fixed an issue where link actions in mcheck_db_0129_b incorrectly pointed to the qualifier sf-chart instead of sf-transition. (#11902)