MXAM Report
|
MES Model Examiner®
|
EV3Control_V1
Failed
|
User:
|
KSchmidt
|
Generated at:
|
2019-09-24 13:10:32
|
Duration:
|
00:01:18
|
Support Contact:
|
Model Engineering Solutions GmbH, support@model-engineers.com
|
Artifacts:
|
ManageVehicleStates_demo_ec
|
com.modelengineers.mxam.tooladapter.matlab#Identification feature
|
SID
|
|
Contents
|
1 Result Overview
This section provides overviews on the guideline and check compliance, and the distribution of findings.
Failed
|
1.1 Artifact Result Overview
[» Contents]
This chart summarizes all artifact results. The artifact result evaluation is derived from the result type of the most severe guideline result.
|
1.2 Total Guideline Compliance
[» Contents]
This chart summarizes all guideline results. The guideline result evaluation is derived from the result type of the most severe finding of any of its checks.
|
1.3 Total Check Compliance
[» Contents]
This chart summarizes all check results. The check result evaluation is derived from the result type of the most severe finding of the check.
|
1.4 Findings Summary
[» Contents]
This chart summarizes the results of all check findings.
|
|
1.5 Linked Heat Map
[» Contents]
This heat map highlights guideline violations as a matrix of checks and artifacts. It shows the total number of findings in the color code of the respective check result.
|
|
|
|
|
|
Document
|
Chapter
|
Guideline ID
|
Check ID
|
|
|
|
Configuration
|
TL_RULE_STATEFLOW_MEALYMOORE_CHART
|
mcheck_mes_cgtl_4103
|
|
|
TL_RULE_STATEFLOW_OUTPUT_CHART_WAKEUP
|
mcheck_mes_cgtl_4104
|
|
|
TL_RULE_STATEFLOW_SUPERSTEP_CHART
|
mcheck_mes_cgtl_4105
|
|
|
mes_is_0002
|
mcheck_mes_is_0002
|
|
|
mes_slsf_3106
|
mcheck_mes_slsf_3106
|
|
|
|
|
|
4
|
misra_slsf_034_a
|
mcheck_misra_slsf_034_a
|
|
|
misra_slsf_034_d
|
mcheck_misra_slsf_034_d
|
|
|
Defensive Implementation Techniques
|
TL_RULE_LOGICBIT_LIB_RELOP_NAN
|
mcheck_mes_slsf_4109
|
|
|
|
|
|
1
|
misra_slsf_038_b
|
mcheck_misra_slsf_038_b
|
|
|
misra_slsf_038_c
|
mcheck_misra_slsf_038_c
|
|
|
sdt_ic003
|
mcheck_sdt_ic003
|
|
|
Enforcement of Strong Typing
|
misra_slsf_036_a
|
mcheck_misra_slsf_036_a
|
|
|
misra_slsf_037_h
|
mcheck_misra_slsf_037_h
|
|
|
|
|
|
1
|
|
|
1
|
|
|
1
|
Established Design Principles
|
db_0110
|
mcheck_db_0110
|
|
|
mes_cgtl_4102
|
mcheck_mes_cgtl_4102
|
|
|
mes_sltl_001
|
mcheck_mes_sltl_001
|
|
|
mes_sltl_002
|
mcheck_mes_sltl_002_a
|
|
|
mcheck_mes_sltl_002_b
|
|
|
|
|
|
1
|
misra_slsf_006_e
|
mcheck_misra_slsf_006_e
|
|
|
misra_slsf_008_a
|
mcheck_misra_slsf_008_a
|
|
|
misra_slsf_012_a
|
mcheck_misra_slsf_012_a
|
|
|
misra_slsf_013_b
|
mcheck_misra_slsf_013_b
|
|
|
misra_slsf_013_c
|
mcheck_misra_slsf_013_c
|
|
|
misra_slsf_017_a
|
mcheck_misra_slsf_017_a
|
|
|
misra_slsf_017_b
|
mcheck_misra_slsf_017_b
|
|
|
misra_slsf_018_d
|
mcheck_misra_slsf_018_d
|
|
|
misra_slsf_018_e
|
mcheck_misra_slsf_018_e
|
|
|
na_0032
|
mcheck_na_0032_a
|
|
|
mcheck_na_0032_b
|
|
|
|
|
|
1
|
Events
|
db_0126
|
mcheck_db_0126
|
|
|
misra_slsf_047_ab
|
mcheck_misra_slsf_047_ab
|
|
|
Execution Order
|
misra_slsf_009_b
|
mcheck_misra_slsf_009_b
|
|
|
Language Subset
|
TL_RULE_STATEFLOW_MATLAB
|
mcheck_ds_0064
|
|
|
jm_0001
|
mcheck_jm_0001
|
|
|
misra_slsf_005_a
|
mcheck_misra_slsf_005_a
|
|
|
misra_slsf_005_b
|
mcheck_misra_slsf_005_b
|
|
|
misra_slsf_046_a
|
mcheck_misra_slsf_046_a
|
|
|
Model Architecture
|
|
|
|
1
|
mes_arch_1302
|
matlab_mxray_1302
|
|
|
mes_arch_1303
|
matlab_mxray_1303
|
|
|
mes_arch_1304
|
matlab_mxray_1304
|
|
|
Modeling of Data Flow
|
misra_slsf_005_c
|
mcheck_misra_slsf_005_c
|
|
|
misra_slsf_018_a
|
mcheck_misra_slsf_018_a
|
|
|
misra_slsf_018_b
|
mcheck_misra_slsf_018_b_1
|
|
|
mcheck_misra_slsf_018_b_2
|
|
|
misra_slsf_029_a
|
mcheck_misra_slsf_029_a
|
|
|
misra_slsf_029_f
|
mcheck_misra_slsf_029_f
|
|
|
misra_slsf_030_abc
|
mcheck_misra_slsf_030_ab
|
|
|
mcheck_misra_slsf_030_c
|
|
|
Naming Conventions
|
TL_RULE_SWDESIGN_IDENTIFIER_LENGTH
|
mcheck_misra_tl_2_3
|
|
|
|
|
|
4
|
misra_tl_1_2
|
mcheck_misra_tl_1_2_a
|
|
|
mcheck_misra_tl_1_2_b
|
|
|
No Hidden Data Flow or Control Flow
|
db_0125
|
mcheck_db_0125
|
|
|
misra_slsf_037_b
|
mcheck_misra_slsf_037_b
|
|
|
Grand Total
|
15
|
15
|
|
1.6 Linked Document Structure
[» Contents]
This section shows the structure of the guideline document with the aggregated result for each chapter level.
Failed
|
1 MXAM Starter Set - Extended Version
|
Unselected
|
|
Warnings
|
|
Warnings
|
|
Warnings
|
|
Passed
|
mes_arch_1302 - Restricted Number of Hierarchy Levels
|
Passed
|
matlab_mxray_1302 - Restricted Number of Hierarchy Levels
|
Passed
|
mes_arch_1303 - Restricted Number of Inports
|
Passed
|
matlab_mxray_1303 - Restricted Number of Inports
|
Passed
|
mes_arch_1304 - Restricted Number of Outports
|
Passed
|
matlab_mxray_1304 - Restricted Number of Outports
|
Unselected
|
mes_arch_1306 - Effective Interfaces
|
Passed with Infos
|
|
Unselected
|
|
Passed with Infos
|
1.3.2 Modeling of Data Flow
|
Passed with Infos
|
misra_slsf_018_a - Usage of "from" and "goto" Blocks - Visibility
|
Passed with Infos
|
mcheck_misra_slsf_018_a - Usage of "from" and "goto" Blocks - Visibility
|
Passed with Infos
|
misra_slsf_018_b - Usage of "from" and "goto" Blocks - Tag
|
Passed with Infos
|
mcheck_misra_slsf_018_b_1 - Usage of "from" and "goto" Blocks - Tag (Goto)
|
Passed with Infos
|
mcheck_misra_slsf_018_b_2 - Usage of "from" and "goto" Blocks - Tag (From)
|
Passed with Infos
|
misra_slsf_005_c - Allowable Simulink Blocks - Data Store Memory
|
Passed with Infos
|
mcheck_misra_slsf_005_c - Allowable Simulink Blocks - Data Store Memory
|
Passed
|
misra_slsf_030_abc - Port Location
|
Passed
|
mcheck_misra_slsf_030_ab - Port Location - Inports and Outports
|
Passed
|
mcheck_misra_slsf_030_c - Port Location - Trigger, Enable, and Action Ports
|
Passed
|
misra_slsf_029_a - Signal and Bus Line Positioning - Orientation
|
Passed
|
mcheck_misra_slsf_029_a - Signal and Bus Line Positioning - Orientation
|
Unselected
|
misra_slsf_029_be - Signal and Bus Line Positioning - Overlaps and Branching
|
Unselected
|
misra_slsf_029_c - Signal and Bus Line Positioning - Crossings of line and block
|
Passed
|
misra_slsf_029_f - Signal and Bus Line Positioning - Branching
|
Passed
|
mcheck_misra_slsf_029_f - Signal and Bus Line Positioning - Branching
|
Passed
|
|
Passed
|
misra_slsf_009_b - Block Execution Frequency and Order - Block Priority
|
Passed
|
mcheck_misra_slsf_009_b - Block Execution Frequency and Order - Block Priority
|
Unselected
|
1.3.4 Block and Text Appearance
|
Failed
|
|
Failed
|
1.4.1 Simulink/TargetLink
|
Passed
|
|
Passed
|
misra_slsf_005_b - Allowable Simulink Blocks - Prohibited Blocks
|
Passed
|
mcheck_misra_slsf_005_b - Allowable Simulink Blocks - Prohibited Blocks
|
Passed
|
misra_slsf_005_a - Allowable Simulink Blocks - Simulink Block Library
|
Passed
|
mcheck_misra_slsf_005_a - Allowable Simulink Blocks - Simulink Block Library
|
Passed
|
jm_0001 - Prohibited Simulink Standard Blocks Inside Controllers
|
Passed
|
mcheck_jm_0001 - Prohibited Simulink Standard Blocks Inside Controllers
|
Passed with Infos
|
1.4.1.2 Defensive Implementation Techniques
|
Passed with Infos
|
sdt_ic003 - Default Paths of Switch Case Blocks
|
Passed with Infos
|
mcheck_sdt_ic003 - Default Paths of Switch Case Blocks
|
Failed
|
1.4.1.3 Established Design Principles
|
Passed
|
misra_slsf_006_e - Block Parameters - Masked Subsystems
|
Passed
|
mcheck_misra_slsf_006_e - Block Parameters - Masked Subsystems
|
Passed
|
misra_slsf_017_a - Unconnected Blocks, Signal Lines and Busses - Blocks
|
Passed
|
mcheck_misra_slsf_017_a - Unconnected Blocks, Signal Lines and Busses - Blocks
|
Passed
|
misra_slsf_017_b - Unconnected Blocks, Signal Lines and Busses - Signals and Busses
|
Passed
|
mcheck_misra_slsf_017_b - Unconnected Blocks, Signal Lines and Busses - Signals and Busses
|
Passed with Infos
|
misra_slsf_018_d - Usage of "from" and "goto" Blocks - Matching "from" Block
|
Passed with Infos
|
mcheck_misra_slsf_018_d - Usage of "from" and "goto" Blocks - Matching "from" Block
|
Passed with Infos
|
misra_slsf_018_e - Usage of "from" and "goto" Blocks - Matching "goto" Block
|
Passed with Infos
|
mcheck_misra_slsf_018_e - Usage of "from" and "goto" Blocks - Matching "goto" Block
|
Failed
|
|
Failed
|
|
Passed
|
db_0110 - Tunable Parameters in Basic Blocks
|
Passed
|
mcheck_db_0110 - Tunable Parameters in Basic Blocks
|
Passed with Infos
|
na_0032 - Use of Merge Blocks
|
Passed with Infos
|
mcheck_na_0032_a - Use of Merge Blocks - Identical Buses
|
Passed with Infos
|
mcheck_na_0032_b - Use of Merge Blocks - Signals Entering Merge Block
|
Failed
|
|
Failed
|
|
Passed with Infos
|
misra_slsf_013_b - Multiport Switch Block - Control Input
|
Passed with Infos
|
mcheck_misra_slsf_013_b - Multiport Switch Block - Control Input
|
Passed with Infos
|
misra_slsf_013_c - Multiport Switch Block - Value Range of Control Input
|
Passed with Infos
|
mcheck_misra_slsf_013_c - Multiport Switch Block - Value Range of Control Input
|
Passed with Infos
|
mes_sltl_001 - Magic Constants in Constant Blocks
|
Passed with Infos
|
mcheck_mes_sltl_001 - Magic Constants in Constant Blocks
|
Passed
|
mes_sltl_002 - Comparison of Floating-Point Signals
|
Passed
|
mcheck_mes_sltl_002_a - Comparison of Floating-Point Signals in Simulink and TargetLink
|
Passed
|
mcheck_mes_sltl_002_b - Comparison of Floating-Point Signals in Stateflow
|
Passed
|
misra_slsf_012_a - Switch Block
|
Passed
|
mcheck_misra_slsf_012_a - Switch Block
|
Passed with Infos
|
1.4.1.4 Naming Conventions
|
Unselected
|
misra_slsf_026_c - Simulink Block, Subsystem and Library Naming - Port Names
|
Passed with Infos
|
TL_RULE_SWDESIGN_IDENTIFIER_LENGTH - Identifier Length
|
Passed with Infos
|
mcheck_misra_tl_2_3 - Restricting identifiers to 31 characters
|
Passed
|
misra_tl_1_2 - Comments in Block Properties
|
Passed
|
mcheck_misra_tl_1_2_a - Comments in block properties
|
Passed
|
mcheck_misra_tl_1_2_b - Umlaute in Block Properties
|
Unselected
|
TL_RULE_GENERAL_NAMING - General Naming Conventions
|
Unselected
|
1.4.1.5 Initialization of Variables
|
Failed
|
|
Failed
|
|
Failed
|
|
Failed
|
|
Passed
|
|
Passed
|
misra_slsf_046_a - History Junction
|
Passed
|
mcheck_misra_slsf_046_a - History Junction
|
Passed
|
TL_RULE_STATEFLOW_MATLAB - MATLAB Functionality
|
Passed
|
mcheck_ds_0064 - MATLAB Functionality
|
Unselected
|
TL_RULE_STATEFLOW_EXPLICIT_INPUT_SPEC - Avoidance of TargetLink Specifications for Stateflow Input Variables
|
Passed
|
1.4.2.2 Defensive Implementation Techniques
|
Passed
|
misra_slsf_038_b - Operators in State Machines - Permitted Operations
|
Passed
|
mcheck_misra_slsf_038_b - Operators in State Machines - Permitted Operations
|
Passed
|
misra_slsf_038_c - Operators in State Machines - C Library Functions
|
Passed
|
mcheck_misra_slsf_038_c - Operators in State Machines - C Library Functions
|
Unselected
|
misra_slsf_041_a - Usage of Boxes
|
Unselected
|
mes_sf_001 - No Loops in Multi Segmented Transitions
|
Unselected
|
mes_sf_003 - Interaction between Parallel States
|
Unselected
|
1.4.2.3 Established Design Principles
|
Failed
|
1.4.2.4 Naming Conventions
|
Failed
|
|
Failed
|
|
Passed
|
1.4.2.5 Enforcement of Strong Typing
|
Passed
|
misra_slsf_036_a - Stateflow/Simulink Interface Signals, Parameters and Naming - Bus Inputs
|
Passed
|
mcheck_misra_slsf_036_a - Stateflow/Simulink Interface Signals, Parameters and Naming - Bus Inputs
|
Passed
|
misra_slsf_037_h - Internal Data - Type
|
Passed
|
mcheck_misra_slsf_037_h - Internal Data - Type
|
Unselected
|
misra_slsf_048_e - Stateflow Coding - Custom Code Variables
|
Unselected
|
|
Passed with Infos
|
1.4.2.7 No Hidden Data Flow or Control Flow
|
Passed with Infos
|
db_0125 - Scope of Internal Signals and Local Auxiliary Variables
|
Passed with Infos
|
mcheck_db_0125 - Scope of Internal Signals and Local Auxiliary Variables
|
Passed
|
misra_slsf_037_b - Internal Data - Local Data
|
Passed
|
mcheck_misra_slsf_037_b - Internal Data - Local Data
|
Passed with Infos
|
|
Passed
|
misra_slsf_047_ab - Stateflow Events
|
Passed
|
mcheck_misra_slsf_047_ab - Stateflow Events
|
Passed with Infos
|
db_0126 - Scope of Events
|
Passed with Infos
|
mcheck_db_0126 - Scope of Events
|
Unselected
|
TL_RULE_STATEFLOW_IMPLICIT_EVENTS - No Use of Implicit Events
|
Unselected
|
TL_RULE_STATEFLOW_ORDER_PARALLEL_STATES - Order Numbers for Parallel States
|
Passed with Infos
|
|
Passed
|
mes_is_0002 - User-specified State/transition Execution Order
|
Passed
|
mcheck_mes_is_0002 - User-specified State/Transition execution order
|
Passed
|
mes_slsf_3106 - Avoid Global Stateflow Functions
|
Passed
|
mcheck_mes_slsf_3106 - Avoid Global Stateflow Functions
|
Passed with Infos
|
misra_slsf_034_a - Chart Properties - C-like Bitwise Operators
|
Passed with Infos
|
mcheck_misra_slsf_034_a - Chart Properties - C-like Bitwise Operators
|
Passed
|
misra_slsf_034_d - Chart Properties - Chart Initialization
|
Passed
|
mcheck_misra_slsf_034_d - Chart Properties - Chart Initialization
|
Passed
|
TL_RULE_STATEFLOW_MEALYMOORE_CHART - No Support for Mealy or Moore State Machine Types
|
Passed
|
mcheck_mes_cgtl_4103 - No Support for Mealy or Moore State Machine Types
|
Passed
|
TL_RULE_STATEFLOW_OUTPUT_CHART_WAKEUP - No Output initialization When Chart Wakes Up
|
Passed
|
mcheck_mes_cgtl_4104 - No Output initialization When Chart Wakes Up
|
Passed
|
TL_RULE_STATEFLOW_SUPERSTEP_CHART - No Chart Execution with Super Step Semantics
|
Passed
|
mcheck_mes_cgtl_4105 - No Chart Execution with Super Step Semantics
|
Warnings
|
|
Warnings
|
1.5.1 Simulink/TargetLink
|
Unselected
|
|
Warnings
|
1.5.1.2 Defensive Implementation Techniques
|
Passed with Infos
|
TL_RULE_LOGICBIT_LIB_RELOP_NAN - Relational Operator with IsInf, IsNaN, IsFinite Checks
|
Passed with Infos
|
mcheck_mes_slsf_4109 - Relational Operator with IsInf, IsNaN, IsFinite Checks
|
Warnings
|
|
Warnings
|
|
Passed with Infos
|
1.5.1.3 Established Design Principles
|
Passed
|
misra_slsf_008_a - Rounding and Saturation in Simulink Blocks - Saturation Property
|
Passed
|
mcheck_misra_slsf_008_a - Rounding and Saturation in Simulink Blocks - Saturation Property
|
Passed with Infos
|
mes_cgtl_4102 - Data Type Conversion Block in TargetLink Models
|
Passed with Infos
|
mcheck_mes_cgtl_4102 - Data Type Conversion Block in TargetLink Models
|
Warnings
|
1.5.1.4 Enforcement of Strong Typing
|
Unselected
|
misra_tl_5_1 - Attributes of Look-Up table outputs
|
Unselected
|
misra_tl_6_7 - Avoiding rescaling of input signals to LookupTables
|
Unselected
|
sdt_sa001 - Strong Data Typing at the Input of Logical Operator Blocks
|
Unselected
|
sdt_sa002 - Output Type of Logical and Relational Operator Blocks
|
Warnings
|
|
Warnings
|
|
Warnings
|
|
Warnings
|
|
Unselected
|
sdt_sc003 - Strong Data Typing of Merge Blocks
|
Unselected
|
sdt_sc004 - Strong Data Typing of Arithmetic Blocks
|
Unselected
|
na_0002 - Appropriate Implementation of Fundamental Logical and Numerical Operations
|
Unselected
|
TL_RULE_USERFUNC_LIB_FCN_BLOCK - Restrictions with Regard to the Fcn Block
|
Unselected
|
|
Unselected
|
|
|
1.7 Result Color Legend
[» Contents]
This section shows all occuring result types in order of severeness and the respective color legend.
Aborted
|
Canceled
|
Unknown
|
Review
|
Unrepaired
|
Failed
|
Warnings
|
Passed with Infos
|
Repaired
|
Passed
|
Inapplicable
|
Unselected
|
|
|
|
2 Execution Details
[» Contents]
This section shows details about the executed analysis.
2.1 Analyzed Artifacts
[» Contents]
This section lists details of all analyzed artifacts.
Name
|
Additional Information
|
ManageVehicleStates_demo_ec
|
modeltype: MOD dynamic: modelpath: D:\Programme\MTestDev\MTest_Autobuilds\EV3Build_Update2020\EV3Control_ec\ModelsAllVersions\V01_statAna\ManageVehicleStates_demo_ec.slx Creator: stuermer Model Version: 1.641 Source File: D:\Programme\MTestDev\MTest_Autobuilds\EV3Build_Update2020\EV3Control_ec\ModelsAllVersions\V01_statAna\ManageVehicleStates_demo_ec.slx Created: Tue May 09 14:12:57 2017 Modified: Fri Sep 28 14:45:38 2018
|
2.2 Execution Environment
[» Contents]
This section lists details about the environment in which the analysis has been executed.
MES Model Examiner®
|
6.0.0
|
Expires
|
Permanent license
|
MATLAB-Adapter -v2.3
|
9.5
|
Operating system
|
Windows 7
|
Java Version
|
1.8.0_131
|
JVM Architecture
|
amd64
|
2.3 Global Check Parameters
[» Contents]
This section lists the configuration of all global check parameters and their applied values during analysis.
Parameter Name
|
Value
|
Description
|
Comment
|
DebugInfo
|
false
|
This option specifies whether or not to print debug infos in MATLAB.
|
Default Setting
|
FollowLinks
|
on
|
This option specifies whether or not to follow links into library blocks.
|
Default Setting
|
Global.CheckItemResultMappings
|
{''}
|
List of strings with a mapping to change the result type of check items for certain checks. This might be helpful if e.g. layout checks have a lower priority for you and you want to see only warnings instead of failures in your report. The following keywords are available: - f2w: faulty to warning, convert all rule violations for this check or list of checks to warnings - f2n: faulty to note, convert rule violations to notes - f2p: faulty to passed, omit all rule violations from report - f2r: faulty to review, convert all rule violations to review results - w2f: warnings to faulty, convert all warnings to rule violations - w2n: warning to note, convert all warnings to notes - w2p: warning to passed, omit all warnings from report - w2r: warning to review, convert all warnings to review results - n2f: note to faulty, convert all notes to rule violations - n2w: note to warning, convert notes to warnings - n2p: note to passed, omit notes from report - n2r: note to review, convert all notes to review results - r2f: review to faulty - r2w: review to warning - r2n: review to note - r2p: review to passed
Examples: - {'mcheck_ds_0055,mcheck_ds_0012:w2p'} Suppresses all warnings of check mcheck_ds_0055 and mcheck_ds_0012 - {'*:w2n,n2p','mcheck_is_0007:f2w'} Suppresses notes and converts warnings to notes for all checks. In addition, it converts all violations to warnings for check mcheck_is_007.
Please note, that it's not allowed to combine conflicting keywords, e.g. in '*:w2n w2p' or in {'*:f2n','mcheck_is_0007:f2w'}.
|
Default Setting
|
Global.FilterConfigurableSubsystems
|
0
|
Enables to selectively or completely filter out configurable subsystems, with or without its content. - 0: Do not apply. Configurable subsystems will be checked along with their content. - 1: Filter out configurable subsystems and all its content (selected or not selected) - 2: Filter out all content of configurable subsystems but keep the configurable subsystem blocks. - 3: Filter out unselected content of configurable subsystems, but keep the selected content.
|
Default Setting
|
Global.IgnoreBlocksByAttrFormatStr
|
0
|
If this parameter is set to true, the filter defined in the attribute format string is evaluated by each check of the analysis. The filter is ignored if the parameter is set to false.
|
Default Setting
|
Global.IgnoredBlockTypes
|
{''}
|
List of block types to be ignored by all checks. Expected MATLAB type: cell array of strings, e.g. {'Blocktype1','Blocktype2'}
|
Default Setting
|
Global.IgnoredLibraries
|
{''}
|
List of library names of which included blocks will be ignored by all checks.Note: This list is not evaluated if the parameter Global. SkipLinkedSystems is set to a value greater than 0. Expected MATLAB type: cell array of strings, e.g. {'Library1','Library2'}
|
Default Setting
|
Global.IgnoredLibrariesContentOnly
|
true
|
If true, only the contents of blocks linked to libraries given in the parameter Global.IgnoredLibraries will be filtered out. If false, the blocks themselves will be filtered out, too.
|
Default Setting
|
Global.IgnoredMaskedSubsystems
|
{''}
|
List of mask types to be ignored by all checks. Expected MATLAB type: cell array of strings, e.g. {'Masktype1','Masktype2'}
|
Default Setting
|
Global.IgnoredMaskedSubsystemsContentOnly
|
true
|
If true, only the content of the masked subsystems given in the parameter Global.IgnoredMaskedSubsystems will be filtered out. If false, the subsystems themselves will be filtered out too.
|
Default Setting
|
Global.SkipLinkedSystems
|
0
|
Enables to filter linked systems and their content. - 0: Do not apply - 1: Filter out systems/blocks linked to a library and their content - 2: Filter out content of systems/blocks that are linked to a library but keep the linked blocks
|
Default Setting
|
Global.SkipSLObjectsInCharts
|
true
|
If true, Simulink objects in Stateflow charts will be filtered out.
|
Default Setting
|
Global.SkipTLBlockChildren
|
true
|
If true, Simulink blocks located in TargetLink subsystems will be filtered out.
|
Default Setting
|
LogFilterStatistics
|
0
|
This option specifies if and for which level statistics of the filter actions will be returned.
|
Default Setting
|
LookUnderMasks
|
all
|
This option specifies whether or not to look under masked subsystems.
|
Default Setting
|
MXRAY.ShowCyclomaticComplexity
|
false
|
If true, the cyclomatic complexity (local) for each subsystem in the analyzed model will be shown.
|
Default Setting
|
MXRAY.ShowInports
|
true
|
If true, the number of inports for each subsystem in the analyzed model will be shown.
|
Default Setting
|
MXRAY.ShowLevel
|
true
|
If true, the level for each subsystem in the hierarchy of the analyzed model will be shown.
|
Default Setting
|
MXRAY.ShowLocalComplexity
|
true
|
If true, the local complexity for each subsystem in the analyzed model will be shown.
|
Default Setting
|
MXRAY.ShowOutports
|
true
|
If true, the number of outports for each subsystem in the analyzed model will be shown.
|
Default Setting
|
MXRAY.ShowUnusedElementaryInputs
|
true
|
If true, the percentage of unused elementary inputs for each subsystem in the analyzed model will be shown.
|
Default Setting
|
NoteLevels
|
4
|
This option specifies the level for reported notes.
|
Default Setting
|
Progressbar step
|
50
|
This option specifies the granularity for the progress bar steps.
|
Default Setting
|
ResolveModelReferences
|
false
|
Follow references to other MATLAB models
|
Default Setting
|
UseCache
|
false
|
This option specifies whether or not to use cached items in MATLAB.
|
Default Setting
|
WarningLevels
|
4
|
This option specifies the level for reported warnings.
|
Default Setting
|
|
3 Project Configuration
This section shows information about the pre-configured project settings for analysis.
3.1 General Information
[» Contents]
This section shows general project information and settings.
Title:
|
EV3Control_V1
|
Location:
|
D:\Programme\MTestDev\MTest_Autobuilds\EV3Build_Update2020\EV3Control_ec\ModelsAllVersions\MXAM_Project\EV3Control_V1_MXAM.mxmp
|
Author:
|
KSchmidt
|
Access:
|
public
|
Selection change allowed:
|
true
|
Annotations enabled:
|
true
|
Result Priority Order:
|
Aborted, Canceled, Unknown, Review, Unrepaired, Failed, Warnings, Passed with Infos, Repaired, Inapplicable, Passed, Unselected
|
3.2 Guideline Documents
[» Contents]
This section lists the guideline documents that were selected for analysis.
ID
|
Title
|
Location
|
Properties
|
mes_first_set_modeling_guidelines_fs
|
MXAM Starter Set - Extended Version
|
D:\Programme\MXAM_6_0\libraries\documents\Model-Engineering-Solutions\mes_first_set_modeling_guidelines_fs\v04
|
Version: 4 Author: Model Engineering Solutions GmbH Last modified: 09/20/2019 11:40:52 Status: released Selected: true
|
3.3 Ignore Lists
[» Contents]
This section lists all rules of applied ignore-list definitions.
3.4 Custom Check Parameter Settings
[» Contents]
This section lists all check parameters, shared parameters, and global parameters that were customized and overwritten by the project configuration.
|
4 User Changes
This sections shows user changes that affect the results.
4.1 Annotations for Justified Deviations
[» Contents]
This sections lists all user annotations on findings, including comments and result changes.
4.2 Guideline Document Selection Changes
[» Contents]
This section lists all user-made selection changes deviating from the initial project configuration of the guideline documents.
|
5 Guideline and Check Findings Details
[» Contents]
This sections shows all guideline and check descriptions and the respective findings.
|
Guideline: mes_arch_1301 - Restricted Local Complexity
[» Contents]
[» Document Structure]
[» Heat Map]
Warnings
|
|
Status
|
proposed
|
Author
|
Model Engineering Solutions GmbH
|
Version
|
1
|
Priority
|
strongly recommended
|
Objective
|
readability, maintainability
|
Automatically Checkable
|
fully
|
Manual Review Required
|
no
|
Description
|
The 'local complexity' (local MXRAY complexity) of a subsystem is based on the Halstad volume and is a measure of how difficult it is to understand the present subsystem, ignoring the content of subordinate subsystems. This means that the local complexity is calculated from the visible elements of the subsystem only. Subsystems should be easy to understand at the local level, i.e. the local complexity should be low.
|
Rationale
|
The local level of a subsystem is the level in which the developer models the system and in which a reviewer has to review the system. It is imperative for both the developer and the reviewer to understand the system at this level. Since the number of elements a human being can process at the same time is limited, the number of elements visible at the local level should be restricted. Therefore, in order to avoid errors in both development and review and to increase the readability and maintainability of the system, the local complexity should be low.
|
Model Type
|
functional model
|
ISO 26262-6 Mapping
|
T1.1a Enforcement of Low Complexity, T1.1e Use of Established Design Principles, T3.1a Appropriate hierarchical structure of the software components, T3.1b Restricted size and complexity of software components
|
ISO 25119-3 Mapping
|
|
Check: matlab_mxray_1301 - Restricted Local Complexity
[» Contents]
[» Document Structure]
[» Heat Map]
Warnings
|
|
Compiled Model Required
|
no
|
TargetLink Required
|
no
|
Model Root Required
|
no
|
MATLAB Versions
|
all
|
TargetLink Versions
|
all
|
Embedded Coder Versions
|
irrelevant
|
Pass-Fail Criteria
|
The check inspects the 'Complexity (local)' value of each artifact structure component of the analyzed model (block, chart diagram, diagram state, etc.). - Passed: The value is below or equal to the configured parameter 'MXRAY.LocalComplexity.UpperBound_Passed'.
- Warning: The value is greater than the configured parameter 'MXRAY.LocalComplexity.UpperBound_Passed' and below or equal to the parameter 'MXRAY.LocalComplexity.UpperBound_Warning'.
- Failed: The value is greater than the configured parameter 'MXRAY.LocalComplexity.UpperBound_Warning'.
|
Technical Notes
|
|
Solution
|
If the local complexity of a subsystem is high, try to simplify the subsystem by using different blocks or by subdividing the subsystem's content into multiple smaller subsystems.
|
Repair Action
|
No automatic repair action available.
|
Example
|
|
Prerequisites
|
|
Parameter Name
|
Value
|
Description
|
Comment
|
MXRAY.LocalComplexity.UpperBound_Passed
|
300
|
The parameter defines the upper bound for the 'Complexity (local)' metric so that the check result is 'passed'. If an artifact structure component has a higher metric value, the check result is either 'warning' or 'failed'. To deactivate the bound, set the value to 0.
|
Default Setting
|
MXRAY.LocalComplexity.UpperBound_Warning
|
750
|
The parameter defines the upper bound for the 'Complexity (local)' metric so that the check result is 'warning'. If an artifact structure component has a higher metric value, the check result is 'failed'. To deactivate the bound, set the value to 0.
|
Default Setting
|
Findings: ManageVehicleStates_demo_ec | matlab_mxray_1301
[» Contents]
[» Document Structure]
[» Heat Map]
|
Warning
Open the HTML report in the MATLAB browser to use the model links of MATLAB checks.
|
|
|
Name:
|
|
Message:
|
The local complexity is 306, which is between the configured bounds of 300 and 750.
|
|
|
|
|
|
|
|
|
|
Guideline: sdt_sc005 - Propagation of Signal Names
[» Contents]
[» Document Structure]
[» Heat Map]
Failed
|
|
Status
|
released
|
Author
|
Model Engineering Solutions GmbH
|
Version
|
1
|
Priority
|
recommended
|
Objective
|
readability, maintainability
|
Source
|
MES_FS_1_3
|
MATLAB Versions
|
all
|
TargetLink Versions
|
all
|
Embedded Coder Versions
|
all
|
Automatically Checkable
|
fully
|
Manual Review Required
|
no
|
Description
|
Signal names should be propagated as far as possible. To this end, the signal propagation mechanism of Simulink should be used to automatically name signals along a sequence of signal lines. - If a signal name is used along a sequence of signals, it should be named at the signal directly connected to the signal source, and
- this name should be propagated to all subsequently connected signal lines by setting the signal property "Show propagated signals" to "on".
|
Rationale
|
Signal propagation ensures the consistency of signal naming, shows the data flow clearly, and reduces the effort to rename any signals.
|
Example
|
Figure sdt_sc005-1: The signal is explicitly named at its source. That signal name is then propagated to any subsequently connected signal lines.

Figure sdt_sc005-2:The option "Show propagated signals" is set to "on" to show the propagated signal name.
|
Model Type
|
functional model
|
ISO 26262-6 Mapping
|
T1.1e Use of Established Design Principles
|
ISO 25119-3 Mapping
|
T3-3.1 Use of Coding Standard
|
Check: mcheck_sdt_sc005 - Propagation of Signal Names
[» Contents]
[» Document Structure]
[» Heat Map]
Failed
|
|
Compiled Model Required
|
no
|
TargetLink Required
|
no
|
Model Root Required
|
no
|
MATLAB Versions
|
all
|
TargetLink Versions
|
all
|
Embedded Coder Versions
|
all
|
Pass-Fail Criteria
|
The check inspects every signal line of the model. Failed: If the signal line of its source block is named, but each subsequent signal in this signal chain that supports signal name and signal name propagation but whose property "Show propagated signals" is set to "off". The check issues a pass if the failed case does not apply.
|
Technical Notes
|
As of Matlab 2018b the model option "Display -> Signals & Ports -> Propagated Signal Labels" is not recommended for use because it is not consistent with the individual signal property "Show Propagated Signals". In addition, it is not updated when single changes in the individual property take place. Therefore, the check analyzes only the individual property and it could return failed findings if only the model option is set to "on".
|
Solution
|
Locate the following source blocks in the model. - Inport blocks at the top level of the model.
- Inport blocks at the top level of all non-virtual blocks that directly or indirectly feed into a top-level Outport.
- Other Simulink source blocks (see Library section "Simulink Library Browser/ Sources") and Data Store Read block.
- Bus creator blocks.
For each source block, name the signal that is directly connected with its output. Further, set the signal property "Show propagated signals" of all subsequent signals in this signal chain to "on".
|
Repair Action
|
If the signal of a source block has a name and subsequent signals are not named, the check sets the signal property "Show propagated signals" of these nameless signals to "on". Follow these steps to auto-repair: - Name the signal output from its source block.
- Delete any other signal names in the subsequent signal lines after the named signal from the source block.
- Apply autofix, which sets the signal property "Show propagated signals" of the subsequent signals to 'on'.
Note: In some cases, the number of failed messages may differ from the number of repaired messages. This is because the repair action of setting the property 'Show propagated signals' to 'on' in the complete signal chain from source to destination would have fixed other failed cases.
|
Example
|
|
Prerequisites
|
|
Parameter Name
|
Value
|
Description
|
Comment
|
SDT.sc005.UserSourceBlocks
|
{'SubSystem','CONSTREAL';... 'SubSystem','CONSTLOGIC';... 'Constant','TL_Constant';... 'Inport','TL_Inport';... 'BusSelector',''}
|
A list (cell array) of pairs that specifies additional types of sources. Each pair defines a block type and a mask type string. The check additionally checks all those signal lines that originate from these user-defined sources.
Note: If the block has no mask type, leave the second entry of the pair empty, e.g. SDT.sc005.UserSourceBlocks = {{'blocktype',''};{'blocktype2'‚''}}.
|
Guideline Setting
|
Findings: ManageVehicleStates_demo_ec | mcheck_sdt_sc005
[» Contents]
[» Document Structure]
[» Heat Map]
|
Failed
Open the HTML report in the MATLAB browser to use the model links of MATLAB checks.
|
|
|
Name:
|
|
Message:
|
Signal name from outport(1) of the source block- 'holdSwitch' does not propagate through signal/s to its destination block -'ManageVehicleStates_demo_ec/ManageVehicleStates/HoldAfterTouch/holdSwitch(inport 3)'. Property 'Show propagated signals' of output signal of the successive block(s) in the signal chain is not 'on'.<br>Source block path: 'ManageVehicleStates_demo_ec/ManageVehicleStates/HoldAfterTouch/holdSwitch'.<br>Destination block path: 'ManageVehicleStates_demo_ec/ManageVehicleStates/HoldAfterTouch/holdSwitch(inport 3)'.<br>Note: Refer the below section 'mBlockPath' for the paths of signal lines of above signal chain, which should be repaired.
|
|
|
|
|
|
|
|
|
|
Guideline: misra_slsf_006_b - Block Parameters - Calibration Parameters
[» Contents]
[» Document Structure]
[» Heat Map]
Failed
|
|
Status
|
released
|
Author
|
Model Engineering Solutions GmbH
|
Version
|
1
|
Priority
|
required
|
Objective
|
maintainability, portability
|
Source
|
MISRA AC SLSF 1.0
|
MATLAB Versions
|
all
|
TargetLink Versions
|
irrelevant
|
Embedded Coder Versions
|
irrelevant
|
Automatically Checkable
|
fully
|
Manual Review Required
|
no
|
Description
|
Block parameters intended to be configured or calibrated must be entered as a named constant.
|
Rationale
|
Allows configuration of validated subsystems without modifying the underlying model itself.
|
Related Guidelines
|
misra_tl_3_2
|
Model Type
|
functional model
|
ISO 26262-6 Mapping
|
T1.1e Use of Established Design Principles
|
ISO 25119-3 Mapping
|
T3-3.1 Use of Coding Standard
|
Last Change
|
1.00
|
Check: mcheck_misra_slsf_006_b - Block Parameters - Calibration Parameters
[» Contents]
[» Document Structure]
[» Heat Map]
Failed
|
|
Compiled Model Required
|
no
|
TargetLink Required
|
no
|
Model Root Required
|
no
|
MATLAB Versions
|
all
|
TargetLink Versions
|
irrelevant
|
Embedded Coder Versions
|
irrelevant
|
Pass-Fail Criteria
|
The check analyzes each calibration parameter of each block in the model. - Failed 1: The parameter is entered as numerical value, expression or function call.
The check result is passed if all failed cases do not apply.
|
Technical Notes
|
The check considers as calibration parameter every Simulink parameter that can be changed during simulation. For TargetLink models, the check analyzes the Simulink parameters of each block. The following conventions for the check routine have been made in order to ensure practicability: - For TargetLink blocks, the generic mask parameter "data" is ignored.
- Blocks from the Lookup Tables Library including 1-D, 2-D, n-D and Direct Look-Up Tables as well as Prelookup and Interpolation Using Prelookup blocks are not analyzed.
- Signed named constants, e.g. '-x', are not reported as failed.
|
Solution
|
- Solution 1: Enter the calibration parameter as named constant.
|
Repair Action
|
No automatic repair action available.
|
Example
|
|
Prerequisites
|
|
Parameter Name
|
Value
|
Description
|
Comment
|
MISRA_SLSF.mes_misra_slsf_006_b.AllowZeroOne
|
false
|
If the check parameter is set to true, the values 0 and 1 are allowed to be entered as calibration parameters. If the check parameter is set to false, the values 0 and 1 are not allowed to be entered as calibration parameters.
|
Default Setting
|
Findings: ManageVehicleStates_demo_ec | mcheck_misra_slsf_006_b
[» Contents]
[» Document Structure]
[» Heat Map]
|
Failed
Open the HTML report in the MATLAB browser to use the model links of MATLAB checks.
|
|
|
Name:
|
|
Message:
|
The block "Unit Delay" has the parameter "InitialCondition" = "0", which is not a named constant.
|
|
|
|
|
|
|
|
|
|
Guideline: mes_slsf_9001 - Configuration Parameters for Simulink
[» Contents]
[» Document Structure]
[» Heat Map]
Failed
|
|
Status
|
released
|
Author
|
Model Engineering Solutions GmbH
|
Version
|
1
|
Priority
|
recommended
|
Scope
|
MES
|
Objective
|
verification/validation, maintainability, simulation
|
MATLAB Versions
|
all
|
TargetLink Versions
|
all
|
Embedded Coder Versions
|
irrelevant
|
Automatically Checkable
|
fully
|
Manual Review Required
|
no
|
Description
|
Each project must define an appropriate setting for each Simulink Configuration parameter. These settings must be used for each model within that project.
|
Rationale
|
Conformance to the guideline supports reproducible simulation results and eases the comparison of simulations and tests.
|
Model Type
|
functional model
|
ISO 26262-6 Mapping
|
T1.1e Use of Established Design Principles
|
ISO 25119-3 Mapping
|
T3-3.1 Use of Coding Standard
|
Check: mcheck_mes_slsf_9001 - Configuration Parameters for Simulink
[» Contents]
[» Document Structure]
[» Heat Map]
Failed
|
|
Compiled Model Required
|
no
|
TargetLink Required
|
no
|
Model Root Required
|
no
|
MATLAB Versions
|
all
|
TargetLink Versions
|
all
|
Embedded Coder Versions
|
irrelevant
|
Pass-Fail Criteria
|
The check analyzes each configuration parameter of the model, which is defined in an Excel file given by MES.mes_slsf_9001.ParameterExcelFile. - Failed 1: The configuration parameter is not set to the desired value.
- Failed 2: The check parameter MES.mes_slsf_9001.minDiagnosticsError is set to true and the configuration parameter from the diagnostics category has a warning/error level less strict than the expected value.
The check result is passed if all failed cases do not apply.
|
Technical Notes
|
The configuration parameters and the expected values are defined in an Excel file. The location of the excel file can be configured by the parameter MES.mes_slsf_9001.ParameterExcelFile. The check parameter MES.mes_slsf_9001.minDiagnosticsError defines if the values of the configuration parameters from the diagnostics category are to be understood as the minimum warning/error level. If the parameter is set to true, the check does not deliver a failed finding for parameters with a more strict warning/error level than the desired value. This parameter only applies to the diagnostics category in the Simulink model configuration parameters and only to the options none/warning/error, DisableAll/EnableAllAsWarning/EnableAllAsError. If the desired value is 'UseLocalSettings' the parameter does not affect the check. In the case that there exists a Configuration Reference for the model, neither the Repair Action nor the use of the check parameter MES.mes_slsf_9001.minDiagnosticsError is possible.
|
Solution
|
Review the configuration parameters according to guideline. - Solution 1: Set the configuration parameter to the desired value given in the Excel file.
- Solution 2: If the check parameter MES.mes_slsf_9001.minDiagnosticsError is true, make sure the configuration parameters from the diagnostics category have equal or more strict warning/error level than the desired value.
|
Repair Action
|
The configuration parameters which received a 'failed' will be set to the value defined in the Excel file. Since some configuration parameters have dependencies, it might be necessary to rerun the check and repair again. In the case that there exists a Configuration Reference for the model, the Repair Action is not available.
|
Example
|
|
Prerequisites
|
|
Parameter Name
|
Value
|
Description
|
Comment
|
MES.mes_slsf_9001.ParameterExcelFile
|
'SL_ParameterList.xlsx'
|
Either absolute path of the Excel file or name of the Excel file, which must be in the MATLAB path. Syntax: 'AbsolutePathExcelFile.xls' or 'NameExcelFile.xls'
|
Default Setting
|
MES.mes_slsf_9001.minDiagnosticsError
|
false
|
Boolean parameter that treats the expected values for diagnostics parameters as the minimum level. If the parameter is set to true, the check does not deliver a fail finding for parameters with a more strict warning/error level than the desired value. In the case that there exists a Configuration Reference for the model, the parameter is not available.
|
Default Setting
|
Findings: ManageVehicleStates_demo_ec | mcheck_mes_slsf_9001
[» Contents]
[» Document Structure]
[» Heat Map]
|
Failed
Open the HTML report in the MATLAB browser to use the model links of MATLAB checks.
|
|
1. ManageVehicleStates_demo_ec
|
Name:
|
|
Message:
|
The parameter 'Diagnostics:Sample Time->Sample Time->Source block specifies -1 sample time' (InheritedTsInSrcMsg) is set to 'error' but must be set to 'warning'.
|
|
|
|
|
2. ManageVehicleStates_demo_ec
|
Name:
|
SfunCompatibilityCheckMsg
|
Message:
|
The parameter 'Diagnostics:Compatibility->Compatibility->S-function upgrades needed' (SfunCompatibilityCheckMsg) is set to 'error' but must be set to 'warning'.
|
|
|
|
|
3. ManageVehicleStates_demo_ec
|
Name:
|
|
Message:
|
The parameter 'Diagnostics:Data Validity->Simulation range checking' (SignalRangeChecking) is set to 'error' but must be set to 'warning'.
|
|
|
|
|
Warning
Open the HTML report in the MATLAB browser to use the model links of MATLAB checks.
|
|
4. ManageVehicleStates_demo_ec
|
Name:
|
|
Message:
|
Several parameters do not exist in used Matlab Version:<br><br>- 'UseIntDivNetSlope' (in Optimization:General->Simulation and code generation->Use integer division to handle net slopes that are reciprocals of integers).
|
|
|
|
|
|
|
|
|
|
Guideline: misra_slsf_052_b - State Labelling - State Name and Data Items
[» Contents]
[» Document Structure]
[» Heat Map]
Failed
|
|
Status
|
released
|
Author
|
Model Engineering Solutions GmbH
|
Version
|
1
|
Priority
|
required
|
Objective
|
usability, maintainability
|
Source
|
MISRA AC SLSF 1.0
|
MATLAB Versions
|
all
|
TargetLink Versions
|
irrelevant
|
Embedded Coder Versions
|
irrelevant
|
Automatically Checkable
|
fully
|
Manual Review Required
|
no
|
Description
|
Within a chart, a state must not be given the same name as a data item.
|
Rationale
|
All objects should be uniquely named to avoid misinterpretation.
|
Model Type
|
functional model
|
ISO 26262-6 Mapping
|
T1.1h Use of Naming Conventions, T8.1d No Multiple Use of Variable Names
|
ISO 25119-3 Mapping
|
T3-1.1 Suitable Programming Language, T3-3.1 Use of Coding Standard
|
Last Change
|
1.00
|
Check: mcheck_misra_slsf_052_b - State Labelling - State Name and Data Items
[» Contents]
[» Document Structure]
[» Heat Map]
Failed
|
|
Compiled Model Required
|
no
|
TargetLink Required
|
no
|
Model Root Required
|
no
|
MATLAB Versions
|
all
|
TargetLink Versions
|
irrelevant
|
Embedded Coder Versions
|
irrelevant
|
Pass-Fail Criteria
|
The chart analyzes each Stateflow Chart. Failed: If a state name is the same as the name of a Stateflow data item (including events). The check result is passed if the failed case does not apply.
|
Technical Notes
|
|
Solution
|
Rename either the state or the data item to ensure unique naming of Stateflow items.
|
Repair Action
|
No automatic repair action available.
|
Example
|
|
Prerequisites
|
|
Parameter Name
|
Value
|
Description
|
Comment
|
MISRA_SL_SF.misra_slsf_052_b.CaseSensitiveAnalysis
|
true
|
Defines if the analysis of the state names and item names is case sensitive (true = default) or not (false).
|
Default Setting
|
Findings: ManageVehicleStates_demo_ec | mcheck_misra_slsf_052_b
[» Contents]
[» Document Structure]
[» Heat Map]
|
Failed
Open the HTML report in the MATLAB browser to use the model links of MATLAB checks.
|
|
|
Name:
|
|
Message:
|
State 'VehicleControlOff' has the same name as a data item in this chart.
|
|
|
|
|
|
Name:
|
|
Message:
|
State 'VehicleIdle' has the same name as a data item in this chart.
|
|
|
|
|
|
Name:
|
|
Message:
|
State 'VehicleControlOn' has the same name as a data item in this chart.
|
|
|
|
|
|
Name:
|
|
Message:
|
State 'EmergencyStop' has the same name as a data item in this chart.
|
|
|
|
|
|
|
|
|
|
Guideline: mes_cgtl_4101 - Tolerance Value of TargetLink Constant and Gain Block
[» Contents]
[» Document Structure]
[» Heat Map]
Warnings
|
|
Status
|
accepted
|
Author
|
Model Engineering Solutions GmbH
|
Version
|
1
|
Priority
|
strongly recommended
|
Objective
|
code generation, functionality, efficiency
|
Reference
|
TargetLink Block and Object Reference > TargetLink Simulation Blocks > Constant/Gain Block > Output Page (Constant/Gain Block)
|
MATLAB Versions
|
all
|
TargetLink Versions
|
all
|
Embedded Coder Versions
|
irrelevant
|
Automatically Checkable
|
fully
|
Manual Review Required
|
no
|
Description
|
If the class defined for the output value of a TargetLink Constant block or a TargetLink Gain block is set to default, a tolerance value can be specified. The default configuration sets this option to 1%. This value defines the maximum deviation (in percent) with which the variable is to be implemented. To ensure that the code generator does not optimize the output of a TargetLink Constant block or a TargetLink Gain block, the value of the Tolerance option should be set to 0%.
|
Rationale
|
Setting the Tolerance value of each TargetLink Constant block and TargetLink Gain block to 0% ensures that the code generator does not optimize the respective output value. An optimization of an output value due to setting the Tolerance value to a value greater than 0% may lead to unwanted functional changes of the code.
|
Example
|
Figure mes_cgtl_4101-1: The Tolerance value of the output of the TargetLink Constant block is set to 0%
|
Counter Example
|
Figure mes_cgtl_4101-2: The Tolerance value of the output of the TargetLink Constant block is set to 1%.
|
Model Type
|
implementation model
|
ISO 26262-6 Mapping
|
T1.1d Use of Defensive Implementation Techniques
|
ISO 25119-3 Mapping
|
T3-2.2 Defensive Programming
|
Check: mcheck_mes_cgtl_4101 - Tolerance Value of TargetLink Constant and Gain Block
[» Contents]
[» Document Structure]
[» Heat Map]
Warnings
|
|
Compiled Model Required
|
no
|
TargetLink Required
|
yes
|
Model Root Required
|
no
|
MATLAB Versions
|
all
|
TargetLink Versions
|
all
|
Embedded Coder Versions
|
irrelevant
|
Pass-Fail Criteria
|
The check analyzes each TargetLink Constant and Gain block. Failed: if the tolerance value is not set to 0. The check result is passed if the failed case does not apply.
|
Technical Notes
|
|
Solution
|
Set the tolerance value of each TargetLink block of type 'Constant' and 'Gain' to 0.
|
Repair Action
|
The repair action sets the tolerance value of each TargetLink Constant and Gain block to 0.
|
Example
|
|
Prerequisites
|
|
Findings: ManageVehicleStates_demo_ec | mcheck_mes_cgtl_4101
[» Contents]
[» Document Structure]
[» Heat Map]
|
Warning
Open the HTML report in the MATLAB browser to use the model links of MATLAB checks.
|
|
1.
|
Name:
|
|
Message:
|
MXAM Warning 007: Not a TargetLink model. This check only applies to TargetLink models or elements thereof.
|
|
|
|
|
|
|
|
|
|
Guideline: sdt_sc007 - Definition TargetLink Function Interface
[» Contents]
[» Document Structure]
[» Heat Map]
Warnings
|
|
Status
|
proposed
|
Author
|
Model Engineering Solutions GmbH
|
Version
|
1
|
Priority
|
strongly recommended
|
Objective
|
verification/validation, workflow, simulation
|
Source
|
MES FS_1_3
|
MATLAB Versions
|
all
|
TargetLink Versions
|
>=2.0
|
Embedded Coder Versions
|
irrelevant
|
Automatically Checkable
|
partly
|
Manual Review Required
|
yes
|
Description
|
A proper definition of a TargetLink Function Interface requires the following properties. The Inports and Outports on the top level of a TargetLink Function Subsystem must be TargetLink ports.
A TargetLink port is considered to be an argument or a return value of a function if its "Class" is set to "FCN_ARG", "FCN_REF_ARG" or "FCN_RETURN". If one of these classes is set the data type, scaling and value range of the following blocks must be consistent:
- All TargetLink Inports that provide arguments of a TargetLink function with their respective source.
- All TargetLink Outports that define a return value of a TargetLink function with their respective destination.
Note that in the case of TargetLink Function Outports it is not always desirable that the destination block has the same data type, scaling or value range. Nevertheless, implicit data type conversion should be avoided whenever possible.
If a TargetLink function is configured as scaling invariant, only the data type of the ports need to be consistent with their respective source, but not the scaling information. If a TargetLink port is NOT to be considered as an argument or return value of a function, the class should still be selected explicitly, i.e., the class 'default' should not be used.
|
Rationale
|
Inconsistent data types may lead to inefficient code, reduced accuracy or range violations. For function interfaces, strong type consistency of the passed parameters and returned values ensures signal integrity and efficient production code by minimizing the need for type casts and rounding operations. Missing range definitions hinder the detection and control of overflows.
|
Example
|
Figure sdt_sc007-1: Equal scaling information, data type and LSB of the TargetLink function Inport and its source 
Figure sdt_sc001-2: Equal scaling information, data type and LSB of the TargetLink function Outport and its destination
|
Review Measures
|
Some TargetLink blocks such as Saturate, Gain, Fcn, Trigonometry, Math, Sqrt get a review finding, since it might not be reasonable to have the same settings as the TargetLink Function Outport. Consider using a Rescaler block to avoid implicit data type conversion whenever possible.
|
Model Type
|
implementation model
|
ISO 26262-6 Mapping
|
T1.1c Enforcement of Strong Typing, T8.1g No Implicit Type Conversion
|
ISO 25119-3 Mapping
|
T3-1.2 Strongly Typed Programming Language, T3-2.2 Defensive Programming
|
Check: mcheck_mes_sk_006 - In- and Outports in TargetLink subsystems
[» Contents]
[» Document Structure]
[» Heat Map]
Warnings
|
|
Compiled Model Required
|
no
|
TargetLink Required
|
yes
|
Model Root Required
|
no
|
MATLAB Versions
|
all
|
TargetLink Versions
|
all
|
Embedded Coder Versions
|
irrelevant
|
Pass-Fail Criteria
|
The check returns a fail, if there are Simulink In-/Outports on the top level of TargetLink subsystems or TargetLink functions.
|
Technical Notes
|
|
Solution
|
Replace all Simulink In-/Outports with TargetLink In-/Outports on the top level of TargetLink subsystems and TargetLink functions.
|
Repair Action
|
No automatic repair action available.
|
Example
|
|
Prerequisites
|
|
Findings: ManageVehicleStates_demo_ec | mcheck_mes_sk_006
[» Contents]
[» Document Structure]
[» Heat Map]
|
Warning
Open the HTML report in the MATLAB browser to use the model links of MATLAB checks.
|
|
1.
|
Name:
|
|
Message:
|
MXAM Warning 007: Not a TargetLink model. This check only applies to TargetLink models or elements thereof.
|
|
|
|
|
|
|
|
Check: mcheck_sdt_sc007_a - Definition TargetLink Function Interface - Inports
[» Contents]
[» Document Structure]
[» Heat Map]
Warnings
|
|
Compiled Model Required
|
no
|
TargetLink Required
|
yes
|
Model Root Required
|
no
|
MATLAB Versions
|
all
|
TargetLink Versions
|
>=2.0
|
Embedded Coder Versions
|
irrelevant
|
Pass-Fail Criteria
|
The check inspects TargetLink inports and bus inports of each TargetLink function whose class is set to "FCN_ARG", "FCN_REF_ARG" or "FCN_RETURN". The data type, scaling (LSB and Offset) and value range of each TargetLink inport is compared with its source block. While determining the data type of the destination block type inheritance is considered as well. The following criteria are sequentially checked for each TargetLink inport. If any one criterion does not hold, that inport and its source block are declared as failed or a warning is issued. After an erroneous criterion is detected, the remaining criteria are not further analyzed on that port and its source block.
- Failed 1: The Inport is not connected to a source block.
- Failed 2: Matching Output port of Stateflow chart (source block) not found.
- Failed 3: TargetLink data type is not set for the Inport or its source.
- Failed 4: The base type of the TargetLink data type of the Inport or its source is not defined.
- Failed 5: The base type of the Inport and its source are different.
- Failed 6: The LSB value of the Inport and its source are different.
- Failed 7: The offsets (biases) of the Inport and its source differ.
- Failed 8: The LSB types (power of two vs. arbitrary) of the Inport and its source are different.
- Failed 9: The user-defined value range constraints ("minimum" and/or "maximum") of the Inport and its source are different. Set the check parameter SDT.sc007_a.IgnoreUndefinedRanges to "true" to ignore this criterion.
- Failed 10: The TargetLink function is configured as scaling invariant but the scaling propagation function is not defined in the scaling propagation edit field.
- Warning: The source block does not support TargetLink data types. Use the check parameter SDT.sc007_a.IgnoreNonTLSources to deactivate this finding.
Note: TargetLink functions are subsystems which contain a TargetLink Function block.
|
Technical Notes
|
- For each block, only the first deviation which has been found is reported. Re-run the check after having repaired the deviation to make sure that no further deviations are present.
- If the TargetLink function is declared to be scaling invariant, the check evaluates the given scaling propagation function. However, it does not assess its functionality.
- The check needs to set the model into compiled mode to access the data type of the TargetLink port and its source block(Simulink / TargetLink), if the data type is not available in the block property dialog. Therefore, the check only compiles the model on demand.
|
Solution
|
Adjust the diverging signal properties accordingly. Please note that adjusting the data type of a source block may require further, secondary adjustments involving other blocks. In this case, re-run the check. - Solution 1: Connect the Inport to a suitable source block.
- Solution 2: Adjust the properties of the Stateflow chart.
- Solution 3: Specify a suitable TargetLink data type for the Inport or its source.
- Solution 4: Specify a suitable base type for the Inport or its source.
- Solution 5: Match the base types of the Inport and its source.
- Solution 6: Match the LSB values of the Inport and its source.
- Solution 7: Match the offsets of the Inport and its source.
- Solution 8: Match the LSB types of the Inport and its source.
- Solution 9: Match the range constraints of the Inport and its source.
- Solution 10: Review the implementational specifications of the source block.
Add known range limits to the "min" and "max" values of the TargetLink and Stateflow output variables, whenever possible. Do not use the inheritance mechanism for the size and type of Stateflow data if you are working with TargetLink versions < 2.2.
|
Repair Action
|
No automatic repair action available.
|
Example
|
|
Prerequisites
|
TargetLink 2.0 or higher must be installed. A TargetLink license is not needed for running the check, but hyperlinks to open a faulty TargetLink block require a valid TargetLink license.
|
Parameter Name
|
Value
|
Description
|
Comment
|
SDT.sc007_a.IgnoreNonTLSources
|
false
|
If set to true, Simulink source blocks that are allowed to be used with TargetLink are not listed in the report. If set to false, the use of these Simulink source blocks raises a note (see point no. 10 in the check description).
|
Default Setting
|
SDT.sc007_a.IgnoreTLDefaultDataTypes
|
false
|
This parameter determines whether a TargetLink source block with a default class and/or unspecified data type/base type is ignored (parameter is set to true) or not ignored (parameter is set to false). This applies to TargetLink Constants and Merge blocks whose output class is set to "default". Here, the datatype is specified by TargetLink at run-time/build-time. In MIL mode, the output data type of these blocks is set to int16. In SIL mode, the data type is adjusted to match the succeeding block.
|
Default Setting
|
SDT.sc007_a.IgnoreUndefinedRanges
|
false
|
If set to true, only those ranges are checked for consistency that are defined. If set to false, the check considers a pair of ranges to be inconsistent, if at least one range is not defined.
|
Default Setting
|
SDT.sc007_a.ValidBaseTypeCombinations
|
{'Int16','UInt8';... 'Int32','UInt16'}
|
Use the following format to specify each allowed pair of base types. {<source base type 1>, <inport base type 1>;<source base type 2>, <inport base type 2>; ... }
The specification of {'Int16','UInt8'} states that if the data type of an Inport is defined with base type UInt8, the data type of its source block should be defined with base type Int16 or UInt8.
|
Default Setting
|
Findings: ManageVehicleStates_demo_ec | mcheck_sdt_sc007_a
[» Contents]
[» Document Structure]
[» Heat Map]
|
Warning
Open the HTML report in the MATLAB browser to use the model links of MATLAB checks.
|
|
1.
|
Name:
|
|
Message:
|
MXAM Warning 007: Not a TargetLink model. This check only applies to TargetLink models or elements thereof.
|
|
|
|
|
|
|
|
Check: mcheck_sdt_sc007_b - Definition TargetLink Function Interface - Outports
[» Contents]
[» Document Structure]
[» Heat Map]
Warnings
|
|
Compiled Model Required
|
no
|
TargetLink Required
|
yes
|
Model Root Required
|
no
|
MATLAB Versions
|
all
|
TargetLink Versions
|
>=2.0
|
Embedded Coder Versions
|
irrelevant
|
Pass-Fail Criteria
|
The check inspects TargetLink Outports of each TargetLink function whose class is set to "FCN_ARG", "FCN_REF_ARG" or "FCN_RETURN". The output data type, scaling (LSB and Offset) and value range of each TargetLink Outport is compared with its destination block. TargetLink functions are subsystems which contain a TargetLink Function block. While determining the data type of the destination block, inheritance is considered as well. - Failed 1: The Outport is not connected to a destination block.
- Failed 2: Matching Input port of Stateflow chart (destination block) not found.
- Failed 3: There is no TargetLink data type set for the Outport or its destination block.
- Failed 4: The base type of the TargetLink data type of the Outport or its destination block is not defined.
- Failed 5: The base types of the Outport and its destination block are different.
- Failed 6: The LSB values of the Outport and its destination block are different.
- Failed 7: The offsets of the Outport and its destination block are different.
- Failed 8: The LSB types (power of two vs. arbitrary) of the Outport and its destination block are different.
- Failed 9: The user-defined value range constraints ("minimum" and/or "maximum") of the Outport and its destination blocks are different. Set the check parameter SDT.sc007_b.IgnoreUndefinedRanges to true to ignore this criterion.
- Failed 10: The TargetLink function is configured as scaling invariant, but the scaling propagation function is not defined in the scaling propagation field.
- Review: The data type, scaling or range of the TargetLink Function Outport is different from its destination block, but this deviation may be justified. See Note 3.
- Warning: The destination block does not support TargetLink data types. Use the check parameter SDT.sc007_b.IgnoreNonTLSources to deactivate this finding.
Note 1: It is recommended to use the Rescaler block whenever data type conversion is necessary. Therefore, the Rescaler block is not considered a failed case.
Note 2: TargetLink blocks whose output data type or scaling is expected to be different from its input are ignored in the analysis. This concerns the following blocks: Abs, Sum, Product, Logical and Relational Operator, Look-Up Table (and related ones), Sign, Relay, Discrete Filter, Discrete Transfer Fcn, FIR Filter, Discrete-Time Integrator, Discrete State-Space, Extract Bits, and Preprocessor IF. Additionally, the case when the function Outport is connected to the control port of a Switch or Multiport Switch block is ignored. Note 3: Some TargetLink blocks such as Saturate, Gain, Fcn, Trigonometry, Math, Sqrt get a review finding, since it might not be reasonable to have the same settings as the TargetLink Function Outport.
|
Technical Notes
|
- For each block, only the first deviation which has been found is reported. Re-run the check after having repaired the deviation to make sure that no further deviations are present.
- If the TargetLink function is declared to be scaling invariant, the check evaluates the given scaling propagation function. However, it does not assess its functionality.
- The check needs to set the model into compiled mode to access the data type of the TargetLink port and its source block(Simulink / TargetLink), if the data type is not available in the block property dialog. Therefore, the check only compiles the model on demand.
|
Solution
|
Adjust the diverging signal properties accordingly. Consider using a Rescaler block to make the casting explicitly. Please note that adjusting the data type of a destination block may require further, secondary adjustments involving other blocks. In this case, re-run the check. - Solution 1: Connect the Outport to a suitable destination block.
- Solution 2: Adjust the properties of the Stateflow chart.
- Solution 3: Specify a suitable TargetLink data type for the Outport or its destination.
- Solution 4: Specify a suitable base type for the Outport or its destination.
- Solution 5: Match the base types of the Outport and its destination.
- Solution 6: Match the LSB values of the Outport and its destination.
- Solution 7: Match the offsets of the Outport and its destination.
- Solution 8: Match the LSB types of the Outport and its destination.
- Solution 9: Match the range constraints of the Outport and its destination.
- Solution 10: Review the implementational specifications of the destination block.
- Solution (Review): If possible use a Rescaler block to avoid implicit data type conversion.
Add known range limits to the "min" and "max" values of the TargetLink and Stateflow output variables, whenever possible. Do not use the inheritance mechanism for the size and type of Stateflow data if you are working with TargetLink versions < 2.2.
|
Repair Action
|
No automatic repair action available.
|
Example
|
|
Prerequisites
|
TargetLink 2.0 or higher must be installed. A TargetLink license is not needed for running the check, but hyperlinks to open a faulty TargetLink block require a valid TargetLink license.
|
Parameter Name
|
Value
|
Description
|
Comment
|
SDT.sc007_b.IgnoreNonTLSources
|
false
|
If set to true, Simulink destination blocks that are allowed to be used with TargetLink are not listed in the report. If set to false, the use of these Simulink destination blocks raises a note (see point no. 10 in the check description).
|
Default Setting
|
SDT.sc007_b.IgnoreUndefinedRanges
|
false
|
If set to true, only those ranges are checked for consistency that are defined. If set to false, the check considers a pair of ranges to be inconsistent, if at least one range is not defined.
|
Default Setting
|
SDT.sc007_b.ValidBaseTypeCombinations
|
{'Int16','UInt8';... 'Int32','UInt16'}
|
Use the following format to specify each allowed pair of base types. {<destination base type 1>, <outport base type 1>;<destination base type 2>, <inport base type 2>; ... }
The specification of {'Int16','UInt8'} states that if the data type of an Inport is defined with base type UInt8, the data type of its source block should be defined with base type Int16 or UInt8.
|
Default Setting
|
Findings: ManageVehicleStates_demo_ec | mcheck_sdt_sc007_b
[» Contents]
[» Document Structure]
[» Heat Map]
|
Warning
Open the HTML report in the MATLAB browser to use the model links of MATLAB checks.
|
|
1.
|
Name:
|
|
Message:
|
MXAM Warning 007: Not a TargetLink model. This check only applies to TargetLink models or elements thereof.
|
|
|
|
|
|
|
|
|
|
|
|
|