EverCheck Report for LighTsControl

Test Run Test Object
User Evgeni Verbitski (TechDirector) System LTC_R2018b/LighTsControl_var/LighTsControl
Date 08-May-2019 User TechDirector
Start 18:56:24 Last Saved 2019-03-18 13:52:22
End 18:56:27 Model LighTsControl_lib
Result Passed Model Version 1.8
Test Environment System Type Simulink Library
Windows 7 Professional (6.1) 64-bit Sample Time 0.02
MATLAB 9.5 (R2018b) 64-bit Block Count 30
EverCheck v3.7.166

ev_0001: Explicit Exclusion Handling

ID: Title ev_0001: Explicit Exclusion Handling
Priority Mandatory
Scope ISO 26262-8 9.4.3.2 e-f
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20160208)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Plausibility of Exclusions

All intrusive exclusions, i.e. built in the model, shall be listed and verified based on a valid System ID (SID). All fields shall be filled out, including Rule, SID, User, Date and Rationale.

Note
Please consider "EverCheck > User's Guide > Handling Violations of Safety Modeling Guidelines" for more information on handling project-specific deviations from modeling guidelines.

Rationale

  • Workflow
  • Verification and Validation
  • Deviation Procedure


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.011 s, Model Update Time: 0.000 s


Check Plausibility of Exclusions
All built in (intrusive) exclusions used in the model shall be listed and verified based on valid System ID (SID). All fields shall be filled out, including Rule, SID, User, Date, and Rationale.

Passed

Self time: 0.010 s

ev_0002: Constant Block Usage and Appearance

ID: Title ev_0002: Constant Block Usage and Appearance
Priority Mandatory
Scope MAAB: jc_0061, ISO 26262-6 5.4.7 Table 1 1a, 1c, 1h
MATLAB All Versions
Static Check Yes
Prerequisites ev_0005: Simulink Subset Usage, ev_0006: Identifiers, ev_0011: Naming Conventions
Last Change v1.9 (20141120)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Usage of Named Data

Usage of named data instead of literals i.e. 'magic numbers' is required. MATLAB variables true and false are recommended for Boolean constants.

Exceptions to this rule include the literals 0 and 1 in counters and relational operations as well as the functions false(), true(), zeros() and ones(). These may contain magic numbers for the initialization of array and vector signals.

Usage of Parameter Objects for Named Data

MATLAB variables are not sufficient for production models which require rich data specification. Simulink.Parameter objects provide such capability.

Inheritance of Output Data Type

To guarantee data consistency with a Simulink.Parameter object and with true/false variables, the block parameter "Output data type" shall be set to "Inherit: Inherit from 'Constant value'":

When using the literals 0 and 1, the block parameter "Output data type" shall be set to "Inherit: Inherit via back propagation".

Constant Block Naming

A Constant block is named after its data. If multiple instances of Constant blocks with data of the same name exist on one model level, an optional numeric suffix is allowed.

When using true/false Boolean variables and 0/1 literals in counters and relational operations the name of the Constant Block shall be "Constant" + optional numeric suffix.

Correct Incorrect

Constant Block Appearance

All Constant blocks in a model shall be sized in such a way that their icon is completely visible and recognizable. In particular, any text displayed (e.g. tunable parameters) in the icon shall be readable. This guideline requires the resizing of Constant blocks.

To prevent clutter the names of Constant blocks shall be hidden using the "Format -> Hide Name" option:

Correct Incorrect

Rationale

  • Readability; Enables human inspection and maintenance
  • Workflow; Ensures consistency and traceability of tunable parameters
  • Ensures the correct signals are used in the wider system context
  • Enforcement of low complexity
  • Enforcement of strong typing
  • Use of naming conventions
  • Verification and Validation
  • Code Generation


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.027 s, Model Update Time: 0.000 s


Check Usage of Named Data
Usage of named data instead of literals i.e. 'magic numbers' is required.

Passed
All constant blocks have valid values.

Self time: 0.004 s


Check Usage of Parameter Objects for Named Data
MATLAB variables are not sufficient for production models which require rich data specification. Simulink.Parameter objects provide such capability.

Passed
All Constant block values are valid.

Self time: 0.010 s


Check Inheritance of Output Data Type
To guarantee the data consistency with Simulink.Parameter object and with true/false variables the block parameter "Output data type" shall be set to "Inherit: Inherit from 'Constant value'"

Passed
All Constant block types are valid.

Self time: 0.004 s


Check Constant Block Naming
The name of a Constant block shall consist of its named data.

Passed
Constant block names are consistent with modeling rules.

Self time: 0.005 s


Check Constant Block Appearance
All Constant blocks in a model shall be sized such that their icon is completely visible and recognizable.

Passed
The icons of all constant blocks are completely visible, and their name is hidden.

Self time: 0.003 s

ev_0003: Interface Specification

ID: Title ev_0003: Interface Specification
Priority Mandatory
Scope ISO 26262-6 5.4.7 Table 1 1a, 1c, 1f; 7.4.14; 9.4.3; 9.4.4; 10.4.3; 10.4.4
MATLAB All Versions
Static Check Yes
Prerequisites ev_0002: Constant Block Usage and Appearance, ev_0005: Simulink Subset Usage
Last Change v2.2 (20160601)

Parameters

Display irrelevant signals

By default, the bus signals which are not used within the test object are not displayed. The parameter "Display irrelevant signals" allows all interface signals to be displayed, including all irrelevant signals.

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Allow Variable Dimensions

By default, the interface dimensions of a test object need to be fixed. When working with reusable libraries it is possible that different dimensions are applicable in this case, setting "Allow Variable Dimensions" ignores interface dimensions being set to -1 (inherited).

Description

Interface Specification

The following interface properties of a test object need to be fully specified:

  • Name
  • Data Type
  • Dimension
  • Minimum
  • Maximum
  • Unit

Inputs are specified via the Inport blocks or by using the properties of the related Simulink.Signal objects.

Outputs are specified via the Outport blocks or by using the properties of the related Simulink.Signal objects.

Parameters are specified via the Simulink.Parameter objects or by using the Constant block properties.

Note
Parameters where Minimum is equal to Maximum are assumed to be Constants.

Persistent Data

Persistent data used in the test object is to be fully specified. This affects all blocks which create global data during code generation, such as Unit Delay or Data Store blocks.

Rationale

  • Readability; Supports human inspection; Use of unambiguous graphical representation
  • Workflow; Enables automatic fixed-point scaling
  • Verification and Validation; Supports software integration and testing
  • Enables interface test and analysis of boundary values
  • Enables formal analysis to find "Dead Code" and "Divide by Zero" errors
  • Allows detecting implicit downcasts and out of range values during simulation
  • Enforcement of strong typing
  • Enforcement of low complexity
  • Code Generation
  • Simulation


Input Parameters Selection
# Name Value
1 Display irrelevant signals false
2 Allow Variable Dimensions false
3 Check Linked Libraries false

Check Time: 0.079 s, Model Update Time: 0.327 s


Check Interface Specification
For Inports, Outports and Parameters of a unit the following properties shall be fully specified: Name, Data Type, Dimension, Minimum, Maximum, Unit.

Properties of the unit interface are specified and violations are excluded:
# Name Type Data Type Dimension Min Max Unit Excluded User Date Rationale
1 light_switch I uint32 1 0 2 1
2 light_intensity I uint32 1 0 100 1
3 headlight O boolean 1 0 1 1
4 HysteresisStepsOff P uint32 1 1 1000 1
5 HysteresisStepsOn P uint32 1 1 1000 1
6 MinLightOff P uint32 1 30 95 lumen
7 MinLightOn P uint32 1 5 70 lumen

Self time: 0.069 s


Check Persistent Data
Persistent data as used in Unit Delay or Data Stores shall be fully specified: Name, Data Type, Dimension, Minimum, Maximum.

Properties of the unit interface are specified and violations are excluded:
# Name Type Data Type Dimension Min Max Excluded User Date Rationale
1 UnitDelay D boolean 1 n/a n/a
2 UnitDelay1 D boolean 1 n/a n/a

Self time: 0.009 s

ev_0004: Interface Consistency

ID: Title ev_0004: Interface Consistency
Priority Mandatory
Scope ISO 26262-6 5.4.7 Table 1 1c, 1h; 7.4.14; 9.4.3; 9.4.4; 10.4.3; 10.4.4
MATLAB All Versions
Static Check Yes
Prerequisites ev_0003: Interface Specification, ev_0301: Model Architecture, ev_0331: Verification Unit
Last Change v4.1 (20160601)

Parameters

Unit Type

The parameter "Unit Type" defines the reference name of the Simulink Mask which is defined for each verification unit. The name of this parameter can be changed to an arbitrary string.

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Check Signal Name Consistency

By default the name of the connected verification unit interfaces are checked for equality. If this is not applicable for a certain model, e.g. when using lots of generic libraries, disabling this parameter removes the name from being checked.

Description

Interface Consistency

The following unit interface properties specified via Inports and Outports create a match between the signal source and all direct signal destinations of the structure layer:

  • Name
  • Data Type
  • Dimension
  • Minimum
  • Maximum
  • Unit

This check limits the scope to the structure layer based on the parameter "Unit Type".

Rationale

  • Readability
  • Workflow
  • Verification and Validation
  • Code Generation
  • Enforcement of strong typing
  • Use of naming conventions


Input Parameters Selection
# Name Value
1 Unit Type VERIFICATION_UNIT
2 Check Linked Libraries true
3 Check Signal Name Consistency true

Check Time: 0.036 s, Model Update Time: 0.000 s


Check Interface Consistency
Following unit interface properties specified via Inport and Outport blocks shall match between signal source and all signal destinations of the structure layer: Name, Data Type, Dimension, Minimum, Maximum, Unit.

Passed
No matching ports found.

Self time: 0.035 s

ev_0005: Simulink Subset Usage

ID: Title ev_0005: Simulink Subset Usage
Priority Mandatory
Scope MAAB: db_0033, db_0043, db_0100, db_0102, db_0112, db_0140, db_0142, hd_0001, jc_0061, jc_0081, jc_0111, jc_0141, jm_0001, jm_0013, na_0004, na_0005, na_0011, ISO 26262-6 5.4.6; 5.4.7; 5.4.7 Table 1 1a, 1b
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.5 (20170329)

Parameters

Reference Libraries

The parameter "Reference Libraries" defines one or more Simulink libraries, which incorporate allowed blocks. To define multiple libraries, all of them should be entered separated by a comma.

For each block type the allowed properties can be specified in their block description fields. Here is an example for the Ground block:

Block {
ShowName off
AttributesFormatString ""
Tag ""
}

To define multiple block properties, all of them should be entered, separated by a comma. Here is an example for the Add block:

Block {
Inputs "2, ++, +-, +, 1"
}

To define combinations of allowed block properties enter each combination in a separate block and incorporate all of them into one of the referenced libraries. Here is an example for two combinations of an Inport block:

Block {
ShowName on
BackgroundColor "orange"
}
Block {
ShowName off
BackgroundColor "blue"
}

The allowed default block properties can be specified in the library description field. Here is an example:

  BlockDefaults {
  DropShadow "off"
  BackgroundColor "white"
  }
Note
To find out the block property names, set the required property in the model, open the *.mdl file as text, and search for the block. The properties will be listed in the required format.

Allowed Mask Types

The parameter "Allowed Mask Types" defines one or more Simulink mask types, which can be used to exclude masked subsystems from static analysis. To define multiple mask types, all of them should be entered separated by a comma.

List Supported Blocks

The parameter "List Supported Blocks" is for information purposes. The parameter allows the complete table of all allowed blocks to be listed along with their parameters.

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Subset of Supported Blocks

The test object uses a restricted subset of Simulink blocks. This check uses the definitions from the parameter "Reference Libraries".

Parameters of Supported Blocks

The test object uses blocks with a restricted subset of parameters. This check uses the definitions from the parameter "Reference Libraries".

Display of Unsupported Parameters

All blocks which are excluded from the subcheck "Parameters of Supported Blocks" explicitly display the unsupported parameters in the block's "AttributesFormatString". This check uses the definitions from the parameter "Reference Libraries".

List Supported Blocks

Displays the complete listing of all allowed blocks along with their parameters.

Note
This sub-check is only visible if the parameter "List Supported Blocks" is selected.

Rationale

  • Readability; Supports human inspection
  • Workflow; Ensures consistency and compatibility across all model units
  • Simulation; Better simulation performance and decreased memory usage
  • Code Generation; Enables the proper generation of production code
  • Use of language subsets; Defines restricted subsets of the language
  • Verification and Validation
  • Enforcement of low complexity


Input Parameters Selection
# Name Value
1 Reference Libraries Safety_Basic_Library, tllib, SDF_lib
2 Allowed Mask Types VERIFICATION_UNIT
3 List Supported Blocks false
4 Check Linked Libraries false

Check Time: 0.510 s, Model Update Time: 0.000 s


Check Subset of Supported Blocks
Allowing blocks from following libraries: Safety_Basic_Library.slx
Following libraries could not be found on MATLAB Path: tllib, SDF_lib

Passed
All used blocks are supported.

Self time: 0.334 s


Check Parameters of Supported Blocks
The test object shall use blocks with a restricted subset of parameters.

Passed
All block parameters are supported.

Self time: 0.172 s


Check Display of Unsupported Parameters
All blocks which are excluded from the subcheck "Parameters of Supported Blocks" shall explicitly display the unsupported parameters in the block's "AttributesFormatString".

Passed
No blocks with unsupported parameters are excluded.

Self time: 0.002 s


List Supported Blocks

Info
No block list requested. Use "List Supported Blocks" to display all available blocks.

Self time: 0.000 s

ev_0006: Identifiers

ID: Title ev_0006: Identifiers
Priority Mandatory
Scope MAAB: ar_0001, ar_0002, jc_0201, jc_0211, jc_0221, jc_0231, MISRA: AC GMG 006, ISO 26262-6 5.4.7 Table 1 1h
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.5 (20160209)

Parameters

Allowed File Extensions

It is possible to ignore files ending in certain extensions. This parameter can contain a list of extensions, separated by a comma, which will be ignored by the check.

Allowed Library Extensions

The subcheck "Library Extensions" only allows certain file extensions for referenced libraries. This parameter contains a list of all allowed library extensions. Multiple extensions can be separated by a comma.

Allowed Identifier Length

All identifiers are checked for their length. By default, Simulink allows a maximum of 63 characters but certain compilers further restrict the name length. This field is to be set to the lowest identifier range of all tools in your toolchain.

Check All Directory Dependencies

Selecting this checkbox, not only the model directory, but the directories of all librarys found in the current model are checked for consistency to the identifier rules. Additionally all directory elements are checked instead of only the last one.

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Identifier Rules

Identifiers are the names of different items which shall:

  • comply with the naming standard agreed for the project
  • are valid as C language identifiers
  • have no conflicts with other identifiers in the model
  • have no conflicts with the modeling environment (e.g. MATLAB, Simulink, Stateflow), reserved names (e.g. abs, cos, sin, max), any C language reserved names (e.g. else, float, while, static) or any reserved names within the target tool chain (e.g. dSPACE RUN, STOP, START).
Note
To exclude files from this check add an exclusion to the model's root with this rule's ID. Then add the excluded file name followed by a colon to the beginning of the rationale string.

The identifiers conform to the following constraints:

Name

  • starts with a letter
  • ends with a letter or a number
  • does not have blank spaces
  • does not have carriage returns

Allowed Characters

a b c d e f g h i j k l m n o p q r s t u v w x y z

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

0 1 2 3 4 5 6 7 8 9 _

Underscores

  • can be used to separate parts
  • cannot have more than one consecutive underscore
  • cannot start with an underscore
  • cannot end with an underscore

Length

Each identifier has a length between 1 and 63 characters. This length can be configured by the parameter Allowed Identifier Length.

File and Directory Names

The names of the files and directories in the model's directory comply with the Identifier Rules.

As there are often restrictions enforced by the project or the tools used, this sub-check defines the following exceptions:

  • Hidden directories preceded by a dot . like the version control directories .hg or .svn
  • Temporary file names preceded by a tilde ~ like the office swap file ~$TestSpec.xls
  • Files with the extensions specified in the Allowed File Extensions parameter

Library Extensions

The file extensions of referenced libraries are included in the Allowed Library Extensions parameter.

Signal and Parameter Names

The names of signal lines and used parameter objects residing inside the checked system comply with the Identifier Rules.

Stateflow Object Names

The names of all Stateflow objects comply with the Identifier Rules.

State Labeling in Stateflow

State labels consist of capital letters and underscores only.

Block, Library and Subsystem Names

The names of Simulink blocks, libraries and subsystems residing inside the checked system comply with the Identifier Rules.

Mask Types

The names of all used Simulink Mask types shall comply with the Identifier rules. This sub-check defines the following exceptions:

  • All Mask Types defined in the default simulink block library are permitted

Rationale

  • Readability; Ensures documented and understandable design, well-suited for inspection
  • Code Generation; Ensures uniqueness of the first characters to support compilers and other tools
  • Use of naming conventions; Ensures unmodified names to be used in generated C code
  • Workflow


Input Parameters Selection
# Name Value
1 Allowed File Extensions pdb, autosave
2 Check All Directory Dependencies false
3 Allowed Library Extensions mdl
4 Allowed Identifier Length 31
5 Check Linked Libraries false

Check Time: 0.055 s, Model Update Time: 0.000 s


Check File and Directory Names
The names of the files and directories in the model's directory shall comply with the Identifier Rules.

Passed
All file and directory names comply with the identifier rules.

Self time: 0.016 s


Check Library Extensions
The extensions of referenced libraries shall be included in the "Allowed Library Extensions" parameter.

Passed
All referenced libraries have correct file extensions.

Self time: 0.002 s


Check Signal and Parameter Names
The names of signal lines and used parameter objects residing inside the checked system shall comply with the Identifier Rules.

Passed
All signal and parameter names comply with the identifier rules.

Self time: 0.005 s


Check Stateflow Object Names
The names of all Stateflow objects shall comply with the Identifier Rules.

Passed
All Stateflow object names comply with the identifier rules.

Self time: 0.004 s


Check State Labeling in Stateflow
State labels shall consist of capital letters and underscores only, i.e. ENGINE_ON.

Passed

Self time: 0.004 s


Check Block, Library and Subsystem Names
The names of Simulink blocks, libraries and subsystems residing inside the checked system shall comply with the Identifier Rules.

Passed
All block, library and subsystem names comply with the identifier rules.

Self time: 0.006 s


Check Mask Types
The names of all used Simulink Mask types shall comply with the Identifier rules.

Passed
All mask types comply with the identifier rules.

Self time: 0.016 s

ev_0008: Proper Labeling of Signal Lines

ID: Title ev_0008: Proper labeling of signal lines
Priority Recommended
Scope MAAB jm_0010, na_0008, na_0009, jc_0281 (partial), ISO 26262-6 5.4.7 Table 1 1h
MATLAB All Versions
Static Check Yes
Prerequisites ev_0081: Unconnected Ports and Signal Lines, ev_0123: Stateflow Port Names
Last Change v1.0 (20150130)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Destination Block Labels

A label is displayed on any signal connected to predefined blocks. This can either be directly or by way of a basic block that performs a non-transformative operation. The checked blocks are as follows:

  • Outport block
  • Goto block
  • Data Store Write block
  • Bus Creator block
  • Mux block
  • Subsystem block
  • Chart block

Source Block Labels

A label shall be displayed on a signal originating from predefined blocks. These blocks are:

  • Inport block (conflicting name exception applies – see the following Note)
  • From block (block icon exception applies – see the following Note)
  • Subsystem block or Stateflow® chart block (block icon exception applies)
  • Bus Selector block (the tool forces this to happen)
  • Demux block
  • Selector block
  • Data Store Read block (block icon exception applies)
  • Constant block (block icon exception applies)
Note
Block icon exception (only applicable when indicated): If the signal label is visible in the originating block icon display, the connected signal does not need to have the label displayed, only if the signal label is needed elsewhere due to a destination-based rule.

Note
Conflicting name exception: If an output port exists, which matches the signal name of the input port, it is allowed to add a suffix to the input port's name.

Port Block Names

All Inport and Outport blocks have names which are equal to the signal connected to them.

From and Goto Block Names

All From and Goto blocks have names which are equal to the signal connected to them.

Propagated Subsystem Output Signals

Every signal originating from a non-reusable subsystem has a propagated signal label.

Blocks with Propagated Signals

Signals originating from basic blocks may not propagate signal names. Exceptions from this rules are the following blocks:

  • Inport block
  • From block
  • Bus Selector block
  • Selector block

Propagated Signal Labels

All propagated signals have a valid label, i.e. the label may not be empty.

Rationale

  • Readability
  • Verification and Validation
  • Workflow
  • Code Generation
  • Use of naming conventions


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.039 s, Model Update Time: 0.000 s


Check Destination Block Labels
A label shall be displayed on any signal connected to predefined blocks.

Passed
All blocks have valid input signal labels.

Self time: 0.007 s


Check Source Block Labels
A label shall be displayed on a signal originating from predefined blocks.

Passed
All blocks have valid output signal labels.

Self time: 0.006 s


Check Port Block Names
All Inport and Outport blocks shall have names which are equal to the signal connected to them.

Passed
All ports and their corresponding signal name match.

Self time: 0.007 s


Check From and Goto Block Names
All From and Goto blocks shall have tag names which are equal to the signal connected to them.

Passed
All tag names and their corresponding signal name match.

Self time: 0.004 s


Check Propagated Subsystem Output Signals
Every signal originating from a non-reusable subsystem shall have a propagated signal label.

Passed
All subsystem ouput signal names are propagated correctly.

Self time: 0.003 s


Check Blocks with Propagated Signals
Signals originating from basic blocks may not propagate signal names.

Passed
All blocks use correct output signal labels.

Self time: 0.008 s


Check Propagated Signal Labels
All propagated signals shall have a valid label, i.e. the label may not be empty.

Passed
All blocks use propagated signal labels correctly.

Self time: 0.003 s

ev_0009: Model Documentation

ID: Title ev_0009: Model Documentation
Priority Mandatory
Scope MAAB: hyl_0112, MISRA: modified AC GMG 009, ISO 26262-6 5.4.7 Table 1 1e
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.4 (20131126)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Simulink Documentation

The graphical workspace for every model, subsystem and library is documented to facilitate understanding. The following information is provided as a free text annotation:

  • Title on each page (Format: Arial, bold, 20 pt.)
  • Outline description (Format: Arial, standard, 10 pt.)
  • Requirement descriptions with the pattern "REQ: <ID>" (Format: Arial, bold, 10 pt.)

The information shall be placed in the upper area of the model so that it can be easily identified.

Correct:

An exception to this rule are all comments starting with %.

Stateflow Documentation

The graphical workspace for every Stateflow Chart and Subchart is documented to facilitate understanding. The following information shall be provided as a free text annotation:

  • Title on each page (Format: Arial, bold, 20 pt.)
  • Outline description (Format: Arial, standard, 10 pt.)
  • Requirement descriptions with the pattern "REQ: <ID>" (Format: Arial, bold, 10 pt.)

An exception to this rule are all comments starting with %.

MATLAB Documentation

Every MATLAB function, MATLAB script and MATLAB function block is documented to facilitate understanding. The following information shall be provided as a comment:

  • Function or Script name followed by a title
  • Outline description

Correct:

	function MyMatlabFunction
	%MyMatlabFunction Title of function
	% Description of function

Rationale

  • Readability; Allows model to be reviewed, maintained and reused
  • Workflow; Allows pages to be easily identified when printed
  • Verification and Validation
  • Use of established design principles


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.034 s, Model Update Time: 0.000 s


Check Simulink Documentation
The graphical workspace for every model, subsystem and library shall be documented to aid understanding.

Passed
All subsystems have valid titles and outline descriptions.

Self time: 0.011 s


Check Stateflow Documentation
The graphical workspace for every Stateflow Chart and Subchart shall be documented to aid understanding.

Passed
All Stateflow charts have valid titles and outline descriptions.

Self time: 0.002 s


Check MATLAB Documentation
Every MATLAB function, MATLAB script and MATLAB function block shall be documented to aid understanding.

Passed
All MATLAB functions have valid titles and outline descriptions.

Self time: 0.020 s

ev_0010: Restricted Usage of Data Types

ID: Title ev_0010: Restricted Usage of Data Types
Priority Mandatory
Scope MAAB: db_0122, jc_0141, jc_0481, jc_0451, na_0013, MISRA: modified AC GMG 010, 011, 012, ISO 26262-6 5.4.7 Table 1 1a, 1c
MATLAB All Versions
Static Check Yes
Prerequisites ev_0005: Simulink Subset Usage
Last Change v1.3 (20131113)

Parameters

Allowed Data Types

The Check Parameter Allowed Data Types can be set to a user-defined comma-separated list of Simulink data types.

The following data types are set by default:

  • double (continuous by nature)
  • uint32, int32 (discrete by nature)
  • boolean (produced by single bit operators)
Note
To allow all Fixed-Point data types, use fixdt.

Description

Restricted Set of Data Types

The model is checked for any use which is violating the Allowed Data Types.

Hard-Equality Comparisons for Continuous Data

No hard-equality comparisons (==, ~=) are allowed for continuous data. In Stateflow no expressions shall be used in hard-equality comparisons, as they are not type-safe. This affects the data types double and single.

Correct Incorrect

Comparison Operations in Stateflow Charts

  • Comparisons are only made between variables of the same data type. When using literals please consider the dot-notation (0.0) for comparison with floats, integer numbers for comparison with integers, and 0/1 or false/true for comparison with Booleans.
  • If comparisons are made between variables of different data types, the variables need to be explicitly type cast to matching data types.
Correct Correct

Using the same or explicitly type casted data types.

Incorrect Incorrect

Comparison between variables of different data types.

Check Assignment Operations in Stateflow Charts

In assignments (LHS = RHS) the RHS statements shall have the same data types as the LHS variables. If this is not the case, the RHS statements need to be explicitly type cast to match the data types of the LHS variables.

Mathematical Operations

No mathematical operations (*, /, +, -) are allowed for Boolean data in Simulink and Stateflow.

Data Type Conversions

Use of the Data Type Conversion block needs to be justified for each instance.

Strong Data Typing in Stateflow

Ensure that the option Use Strong Data Typing with Simulink I/O is set for each Stateflow Chart.

Note
This option is only available when the setting Action Language of the Stateflow Chart is set to C.

Unsigned Unary Minus in Stateflow

Ensure that no unary minus operation is applied on unsigned Stateflow data.

Switch Block

The switch block criteria is to be set to u2 ~= 0 and is to be driven by a Boolean signal.

Multiport Switch Block

The signal driving the control input of Multiport Switch blocks (input 1) has one of the following integer types:

  • int8, uint8
  • int16, uint16
  • int32, uint32

Rationale

  • Readability
  • Workflow
  • Simulation
  • Verification and Validation
  • Code Generation; Ensure consistent and efficient modeling and code generation
  • Enforcement of strong typing; Avoid floating-point issues with discrete data elements
  • Avoid implementation specific and highly non-transparent overflow issues
  • Ensure correct behavior across the full working range of the data value
  • Ensure data type conversion transparency
  • Enforcement of low complexity


Input Parameters Selection
# Name Value
1 Allowed Data Types boolean, int8, uint8, int16, uint16, int32, uint32, single, double, fcn_call, action
2 Check Linked Libraries false

Check Time: 0.058 s, Model Update Time: 0.000 s


Check Restricted Set of Data Types
Allowed data types are boolean, int8, uint8, int16, uint16, int32, uint32, single, double, fcn_call or action.

Passed
All blocks have valid data types.

Self time: 0.022 s


Check Hard-Equality Comparisons (==, ~=) for Continuous Data
No hard-equality comparisons (==, ~=) are allowed for continuous data in Simulink and Stateflow. In Stateflow no expressions shall be used in hard-equality comparisons, as they are not type-safe. This affects the data types double and single.

Passed
No hard-equality comparisons used for contiuous data.

Self time: 0.007 s


Check Comparison Operations in Stateflow Charts
Comparisons shall be made only between variables of the same data type. If comparisons are made between variables of different data types, the variables need to be explicitly type cast to matching data types.

Passed
All comparisons correctly use identical data types.

Self time: 0.004 s


Check Assignment Operations in Stateflow Charts
In assignments (LHS = RHS) the RHS statements shall have the same data types as the LHS variables.

Passed
All assignments correctly use identical data types.

Self time: 0.004 s


Check Mathematical Operations with Boolean Data
No mathematical operations (*, /, +, -) are allowed for boolean data in Simulink and Stateflow.

Passed
No mathematical operations used for boolean data.

Self time: 0.004 s


Check Data Type Conversions
Usage of Data Type Conversion block shall be justified for each instance.

Passed
No data type conversion blocks used.

Self time: 0.002 s


Check Strong Data Typing in Stateflow
Ensure that the option "Use Strong Data Typing with Simulink I/O" is set for each Stateflow Chart.

Passed
All Stateflow charts have Strong Data Typing enabled.

Self time: 0.004 s


Check Unsigned Unary Minus in Stateflow Charts
Ensure that no unary minus operation is applied on unsigned Stateflow data.

Passed
All unsigned data is correctly used.

Self time: 0.003 s


Check Usage of Switch Block
The switch block criteria shall be set to "u2 ~= 0" and shall be driven by a signal of type "boolean".

Passed
All Switch blocks are used correctly.

Self time: 0.003 s


Check Usage of Multiport Switch Block
The signal driving the control input of Multiport Switch blocks (input 1) shall have one of the following integer types: int8, uint8, int16, uint16, int32, uint32

Passed
All Multiport Switch blocks are used correctly.

Self time: 0.003 s

ev_0011: Division by Zero

ID: Title ev_0011: Division by Zero
Priority Recommended
Scope ISO 26262-6 5.4.7 Table 1 1d
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.2 (20160519)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

List All Division Operations

By default, only divisions are listed where the divisor does not exclude zero. When "List All Division Operations" is activated, valid divisions are also displayed with their calculated functional and design ranges.

Description

Division in Simulink

The divisor signals in Simulink Product and Division blocks shall be precluded from becoming zero.

The functional ranges of the divisor signals shall exclude zero by using constants or modeling patterns in Simulink. The design ranges of the divisor signals shall be defined in Simulink if functional limitations are not necessary. In all other cases, divisions shall be modeled by using the Protected Division blocks.

Division in Stateflow

The divisor signals in Stateflow division operations shall be precluded from becoming zero.

The functional ranges of the divisor signals shall exclude zero by using constants or modeling patterns in Simulink. The design ranges of the divisor signals shall be defined in Stateflow if functional limitations are not necessary. In all other cases, a division shall be modeled by using Simulink blocks outside Stateflow.

Note
The source divisor signals are recursively traced back to determine its functional and design ranges. The following blocks are supported for tracing:
  • Abs
  • Bus Creator/Bus Selector
  • Constant
  • Discrete-Time Integrator
  • Gain
  • Inport
  • Integrator
  • Lookup Table
  • Lookup Table (2-D)
  • Lookup Table (n-D)
  • MinMax
  • Outport
  • Relational Operator
  • Rounding
  • Saturate
  • Sine Wave
  • Sum/Subtract/Add
  • Unary Minus
  • Unit Delay

Rationale

  • Workflow
  • Verification and Validation
  • Code Generation
  • Use of defensive implementation techniques


Input Parameters Selection
# Name Value
1 List All Division Operations false
2 Check Linked Libraries false

Check Time: 0.014 s, Model Update Time: 0.000 s


Check Division in Simulink
The divisor inputs of Product and Division blocks shall be precluded from becoming zero.

Passed
All Product and Division blocks are precluded from becoming zero.

Self time: 0.006 s


Check Division in Stateflow
The divisor in Stateflow division operations shall be precluded from becoming zero.

Passed
All division operations are precluded from becoming zero.

Self time: 0.008 s

ev_0013: Gain Block Usage

ID: Title ev_0013: Gain Block Usage
Priority Mandatory
Scope ISO 26262-6 5.4.7; 5.4.7 Table 1 1c, 1e
MATLAB All Versions
Static Check Yes
Prerequisites ev_0002: Constant Block Usage, ev_0005: Simulink Subset Usage
Last Change v1.0 (20160520)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Gain blocks shall be used with scalar or vector constants only. Expressions and named data are prohibited, literals (i.e. [-1 1], 2.5, 0.3333 etc.) shall be used instead.

Correct Incorrect

Rationale

  • Review and Workflow; Ensures good readability of expressions with constant factors
  • Verification and Validation
  • Code Generation
  • Use of established design principles
  • Enforcement of strong typing; Ensures data type consistency


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.003 s, Model Update Time: 0.000 s


Check Gain Block Usage
Gain blocks shall be used with scalar or vector constants only.

Passed
All gain blocks have valid values.

Self time: 0.003 s

ev_0014: Ports with Bus Objects

ID: Title ev_0014: Ports with Bus Objects
Priority Mandatory
Scope ISO 26262-6 5.4.7; 5.4.7 Table 1 1e
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20160623)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Ports with Bus Objects

Ports associated with Bus Objects shall either inherit their dimensions (i.e. -1) or be set to 1.

Rationale

  • Workflow
  • Verification and Validation
  • Code Generation
  • Use of established design principles


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.004 s, Model Update Time: 0.000 s


Check Ports with Bus Objects
Ports associated with Bus Objects shall either inherit their dimensions (i.e. -1) or be set to 1.

Passed

Self time: 0.004 s

ev_0016: Unary Usage of Logical Operators

ID: Title ev_0016: Unary Usage of Logical Operators
Priority Mandatory
Scope ISO 26262-6 5.4.7; 5.4.7 Table 1 1e
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20160623)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Unary Usage of Logical Operators

Unary usage of logical operators is permitted for the NOT operator only. For all other logical operators with the "Number of input ports" set to one, the dimension of the input signal shall be greater than one, i.e. a vector signal shall be used.

Rationale

  • Workflow
  • Verification and Validation
  • Code Generation
  • Use of established design principles


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.003 s, Model Update Time: 0.000 s


Check Unary Usage of Logical Operators
Unary usage of logical operators is allowed for the NOT operator only. For all other logical operators with "Number of input ports" set to one the dimension of the input signal shall be greater than one, i.e. vector signal shall be used.

Passed
All logical operators are used correctly.

Self time: 0.003 s

ev_0017: Explicit Requirements Traceability

ID: Title ev_0017: Explicit Requirements Traceability
Priority Mandatory
Scope ISO 26262-6 5.4.7 Table 1 1f
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.1 (20170706)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Requirements Pattern

The parameter "Requirements Pattern" defines a specific pattern which helps find the requirements IDs in the model and code. The pattern can be a prefix, e.g. "REQ: " or it can be part of the Requirements ID, e.g. "_REQ_".

Example: REQ: AUU_235

Description

Requirements Traceability in Simulink

All related unit requirements shall be traceable to the unit design.

In Simulink, annotations shall be used (Format: Arial, bold, 10 pt., foreground: black, background: yellow).

Example: REQ: AUU_235

Requirements Traceability in Stateflow

In Stateflow, transition comments shall be used.

Example: /* REQ: AUU_235 */

Requirements Traceability in C

In S-Function C code comments shall be used.

Example: /* REQ: AUU_235 */

Note
To be able to trace C code comments standard S-Functions need to be used. These are generated with the Legacy Code tool. Additionally, all souces needed for the compilation need to be present, i.e. S-Function sources and compiled C sources.

Rationale

  • Readability
  • Workflow
  • Verification and Validation
  • Code Generation
  • Use of unambiguous graphical representation


Input Parameters Selection
# Name Value
1 Requirements Pattern REQ:\s*
2 Check Linked Libraries false

Check Time: 0.015 s, Model Update Time: 0.000 s


Check Requirements
List all requirement comments.


All requirement objects are correctly formatted.

The following requirements where detected:
# Requirement Valid Type
1 REQ: LTC_UC1_REQ1 Yes Simulink
2 REQ: LTC_UC2_REQ1 Yes Simulink
3 REQ: LTC_UC2_REQ2 Yes Simulink
4 REQ: LTC_UC2_REQ3 Yes Simulink
5 REQ: LTC_UC2_REQ4 Yes Simulink
6 REQ: LTC_UC2_REQ5 Yes Simulink

Self time: 0.015 s

ev_0024: Selector Block Usage

ID: Title ev_0024: Selector Block Usage
Priority Mandatory
Scope ISO 26262-6 5.4.7 Table 1 1e
MATLAB All Versions
Static Check Yes
Prerequisites ev_0002: Constant Block Usage, ev_0003: Interface Specification, ev_0005: Simulink Subset Usage
Last Change v2.1 (20161031)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Check Selector Block Usage

The signals connected to the index ports of the Selector blocks shall be within the dimension ranges specified by the "Input port size".

Otherwise, a protection against "array out of bounds" errors shall be modelled by using the Saturation block.

Rationale

  • Workflow
  • Simulation
  • Verification and Validation
  • Code Generation
  • Use of established design principles


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.006 s, Model Update Time: 0.000 s


Check Selector Block Usage
The signals connected to the index ports of the Selector blocks shall be within the dimension ranges specified by "Input port size".

Passed
All Selector blocks are precluded from exceeding their dimensional range.

Self time: 0.005 s

ev_0031: Verification Unit

ID: Title ev_0031: Verification Unit
Priority Strongly Recommended
Scope ISO 26262-6 5.4.7 Table 1 1e
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.2 (20170703)

Parameters

Unit Type

The parameter "Unit Type" defines the project-specific mask type for the verification unit.

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Check Inlined Code

By default the verification unit code generated by Embedded Coder shall be inlined to get consistent code generation results. If this is not needed or another code generator is used, the option can be deselected.

Description

Masked Subsystem

The verification unit shall be a masked subsystem with a mask type set to the parameter "Unit Type".

Subsystem Settings

In the verification unit the setting "Treat as atomic unit" shall be selected and the setting "Real-Time Workshop system Code" shall be set to "Inline". This ensures reusability and consistent code generation behavior.

Library Name

The verification unit shall be linked to a library. The library name shall have the suffix "_lib".

Rationale

  • Workflow
  • Code Generation
  • Modular Development
  • Use of established design principles


Input Parameters Selection
# Name Value
1 Unit Type VERIFICATION_UNIT
2 Check Linked Libraries true
3 Check Inlined Code true

Check Time: 0.007 s, Model Update Time: 0.000 s


Check Masked Subsystem
The verification unit shall be a masked subsystem with a mask type set to parameter "Unit Type".

Passed
The verification unit is correctly masked.

Self time: 0.001 s


Check Subsystem Settings
In the verification unit the setting "Treat as atomic unit" as well as "Inline system code" shall be selected to ensure reusability and consistent code generation behavior.

Passed
All settings of the test object are configured correctly.

Self time: 0.003 s


Check Library Name
The verification unit shall be linked to a library. The library name shall have the suffix "_lib".

Passed
The verification unit is linked to a correctly named library.

Self time: 0.002 s

ev_0081: Unconnected Ports and Signal Lines

ID: Title ev_0081: Unconnected Ports and Signal Lines
Priority Mandatory
Scope MAAB: db_0081, ISO 26262-6 5.4.7 Table 1 1e
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v2.1 (20160519)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Unconnected Input Ports

All input ports shall be connected to corresponding signal lines.

Unconnected Output Ports

All output ports shall be connected to corresponding signal lines.

Unconnected Signal Lines

All signal lines shall be connected to corresponding blocks.

Rationale

  • Readability
  • Workflow
  • Verification and Validation
  • Use of established design principles


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.014 s, Model Update Time: 0.000 s


Check Unconnected Input Ports
All input ports shall be connected to corresponding signal lines.

Passed
No unconnected input ports were detected.

Self time: 0.005 s


Check Unconnected Output Ports
All output ports shall be connected to corresponding signal lines.

Passed
No unconnected output ports were detected.

Self time: 0.005 s


Check Unconnected Signal Lines
All signal lines shall be connected to a corresponding blocks.

Passed
No unconnected signal lines were detected.

Self time: 0.004 s

ev_0110: Calculations in Block Settings

ID: Title ev_0110: Calculations in Block Settings
Priority Mandatory
Scope MAAB: db_0110, ISO 26262-6 5.4.7 Table 1 1a, 1b, 1c, 1e
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.1 (20160519)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Calculations in block settings are prohibited.

Mathematical Operations

Mathematical operations shall not be used in block settings.

Vector Operations

Extraction of vector and array elements shall not be used in block settings.

Structure Elements

Structure elements or object properties shall not be used in block settings.

Function Calls

Functions calls or data type casting shall not be used in block settings.

Exceptions to this rule include the functions false(), true(), zeros(), ones(), bin2dec(), and hex2dec().

Rationale

  • Readability
  • Workflow; Increase compatibility with Design Verifier and Model Advisor
  • Verification and Validation
  • Enforcement of low complexity; Minimize complexity during automation, analysis and review
  • Use of language subsets
  • Use of established design principles
  • Enforcement of strong typing; Avoid calculation differences based on variable definition and data type


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.060 s, Model Update Time: 0.000 s


Check Mathematical Operations
Mathematical operations shall not be used in block settings.

Passed
No mathematical operations in block settings were detected.

Self time: 0.017 s


Check Vector Operations
Vector operations shall not be used in block settings.

Passed
No vector operations in block settings were detected.

Self time: 0.015 s


Check Structure Elements
Structure elements or object properties shall not be used in block settings.

Passed
No structure elements in block settings were detected.

Self time: 0.009 s


Check Function Calls
Function calls shall not be used in block settings.

Passed
No function calls in block settings were detected.

Self time: 0.018 s

ev_0111: Control Flow Blocks

ID: Title ev_0111: Control Flow Blocks
Priority Mandatory
Scope MISRA SLSF: 011 A, MISRA AC AGC: rule 15.3, ISO 26262-6 5.4.7 Table 1 1a, 1e
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.1 (20161015)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Control Flow Blocks

Control flow blocks (e.g. "if-then-else") shall not be nested more than one level deep.

Rationale

In general, Stateflow shall be used for implementing complex control flow structures.

  • Usability
  • Functionality
  • Maintainability
  • Enforcement of low complexity
  • Use of established design principles


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.005 s, Model Update Time: 0.000 s


Check Control Flow Blocks
Control flow blocks (e.g. "if-then-else") shall not be nested more than one level deep.

Passed
All control flow structures are correctly used.

Self time: 0.005 s

ev_0281: Naming of Trigger and Enable Port

ID: Title ev_0281: Naming of Trigger and Enable Ports
Priority Strongly Recommended
Scope J-MAAB: jc_0281, ISO 26262-6 5.4.7 Table 1 1h
MATLAB All Versions
Static Check Yes
Prerequisites ev_0008: Proper Labeling of Signal Lines
Last Change v2.1 (20160519)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Naming of Trigger and Enable Ports

The names of Trigger and Enable ports and the names of related input signals shall match.

Correct

Rationale

  • Readability
  • Use of naming conventions


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.008 s, Model Update Time: 0.000 s


Check Naming of Trigger and Enable Ports
The names of Trigger and Enable ports and the names of related input signals shall match.

Passed
No Enable or Trigger ports found.

Self time: 0.007 s

ev_0301: Model Architecture

ID: Title ev_0301: Model Architecture
Priority Strongly Recommended
Scope ISO 26262-6 5.4.7 Table 1 1e
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.2 (20151129)

Parameters

Unit Type

The parameter "Unit Type" defines the reference name of the Simulink Mask which shall be defined for each verification unit. The name of this parameter can be changed to an arbitrary string.

Verification Function

This parameter specifies an M function somewhere on the MATLAB path. The function shall have exactly one argument and one return value. The argument contains a list of all unit blocks found. The return value must be a two-column cell array containing all issues found. The first column may contain blocks which are then automatically checked for exclusions and are highlighted in the architecture tree. The second column contains a short description of the issue found.

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Architectural Structure

The hierarchical model architecture shall be displayed in a tree structure based on the predefined "Unit Type".

All issues found determined by the "Verification Function" are highlighted in this tree.

Rationale

  • Modular Development
  • Workflow
  • Use of established design principles


Input Parameters Selection
# Name Value
1 Unit Type VERIFICATION_UNIT
2 Verification Function VerificationFunction
3 Check Linked Libraries true

Check Time: 0.145 s, Model Update Time: 0.000 s


Check Architectural Structure
Identify Subsystems that do not conform with the architecture.

The following subsystem hierarchy was detected:

Passed

Self time: 0.144 s

ev_0302: Model Configuration Settings

ID: Title ev_0302: Model Configuration Settings
Priority Mandatory
Scope MAAB: jc_0011, jc_0021, ISO 26262-6 5.4.7 Table 1 1a, 1e
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.2 (20160601)

Parameters

Project Wide Configuration

The parameter "Project Wide Configuration" defines a MATLAB file with a predefined Simulink configuration. Such a MATLAB file can be generated by exporting the Simulink model configuration as MATLAB file: Model Explorer > Configuration > Export... The file can be used as it is or it can be modified setting by setting. The removed settings will not be checked.

Description

Consistency of Model Configuration Settings

The model configuration settings shall comply with a project specific configuration. The following settings are addressed:

  • Model Solver
  • Model Optimizations
  • Model Diagnosis
  • Model Appearance
  • etc.

This check uses the definitions from the parameter "Project Wide Configuration".

Rationale

  • Readability; Supports human inspection
  • Workflow; Supports version and configuration management
  • Simulation; Ensures consistency and compatibility across all model units
  • Verification and Validation
  • Code Generation; Enables proper production code generation
  • Enforcement of low complexity
  • Use of established design principles


Input Parameters Selection
# Name Value
1 Project-Wide Configuration Safety_Model_Configuration
2 List supported configuration false
3 Check Linked Libraries false

Check Time: 0.087 s, Model Update Time: 0.000 s


Check Consistency of Model Configuration Settings
Model configuration settings shall be compliant with a project specific configuration.

Passed
Model configuration settings are consistent with "Safety_Model_Configuration".

Self time: 0.086 s


Supported Configuration

Info
No configuration list requested. Use "List supported configuration" to display configuration.

Self time: 0.001 s

ev_0401: Warnings During Model Update

ID: Title ev_0401: Warnings During Model Update
Priority Mandatory
Scope ISO 26262-6 5.4.7; 5.4.7 Table 1 1g
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20150409)

Description

Warnings During Model Update

Simulink runs model diagnostics on a model update and provides the warnings in the MATLAB command line. Such compile-time warnings shall be eliminated by fixing the model, or a rationale for each Warning-ID shall be provided.

Note
Rationale can be given by using the Warning-ID in the exclusion editor at model level.

Rationale

  • Workflow; Ensures that diagnostic warnings are understood and fixed
  • Code Generation
  • Use of style guides


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.003 s, Model Update Time: 0.000 s


Check Warnings During Model Update
Simulink runs model diagnostics on model update and provides the warnings in the MATLAB command line.

Passed
The model could be updated without warnings.

Self time: 0.002 s

ev_0650: Usage of Grouped Signals

ID: Title ev_0650: Usage of Grouped Signals
Priority Strongly Recommended
Scope MISRA SLSF: 036 (A), ISO 26262-6 5.4.7 Table 1 1a, 1b, 1e
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.1 (20160209)

Parameters

Unit Type

Specifies the subsystems which are intended for code generation and verification. Only atomic subsystems whose MaskType match the entered Unit Type are reported. This parameter can be left empty to find all atomic subsystems.

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Grouped Signals in Interfaces

Grouped signals, i.e. Busses, shall not be used at the interface between Stateflow blocks and atomic subsystems which are intended for code generation and verification.

Rationale

  • Readability
  • Workflow
  • Verification and Validation
  • Code Generation
  • Use of language subsets
  • Enforcement of low complexity
  • Use of established design principles


Input Parameters Selection
# Name Value
1 Unit Type VERIFICATION_UNIT
2 Display all entries true
3 Check Linked Libraries false

Check Time: 0.008 s, Model Update Time: 0.000 s


Check Grouped Signals in Interfaces
Grouped signals, i.e. Busses, shall not be used at the interface of Stateflow blocks and atomic subsystems which are intended for code generation and verification.

Passed
No grouped signals are used in interfaces.

Self time: 0.007 s

ev_1004: Simulink Model Appearance

ID: Title ev_1004: Simulink Model Appearance
Priority Mandatory
Scope MAAB: na_0004, db_0042, db_0043, db_0146, jc_0131, MISRA: AC SLSF 032 A (partial), ISO 26262-6 5.4.7 Table 1 1f
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.2 (20160601)

Parameters

Reference Libraries

The parameter "Reference Libraries" defines one or more Simulink libraries, which incorparate permitted blocks. To define multiple libraries, all of them shall be entered, separated by a comma. For each block type, the permitted sizes can be specified by placing the blocks into the library and resizing them as required:

  • If no block is found in the referenced library for the given block type, the check will assume that all sizes are permitted.

  • If one single block is found in the referenced library for the given block type, the check will assume that its sizes are defined as a reference.

  • If multiple blocks are found in the referenced library for the given block type, the check will assume that the minimum and maximum size values are defined as reference size boundaries, i.e. the blocks of the given block type may vary within the reference size boundaries.

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

View Options

The Simulink view options shall conform to the following guidelines when the model is reviewed and released:

View Option Setting
Model Browser Unchecked
Screen Color White
Status Bar Checked
Toolbar Checked
Zoom Factor Normal (100%)
Window Placement Main Monitor

Block Display Options

The Simulink block display options shall conform to the following guidelines when the model is reviewed and released:

Block Display Option Setting
Execution Context Indicator Unchecked
Library Link Display All
Linearization Indicators Checked
Model/Block I/O Mismatch Unchecked
Model Block Version Unchecked
Sample Time Colors Unchecked
Sorted Order Unchecked
Show Port Units Checked

Signal Display Options

The Simulink signal display options shall conform to the following guidelines when the model is reviewed and released:

Signal Display Option Setting
Port Data Types Checked
Signal Dimensions Checked
Storage Class Unchecked
Test point Indicators Checked
Viewer Indicators Checked
Wide Nonscalar Lines Checked

Inport Block Position

Ensures that any Inport block is placed on the left side of the block it is directly connected to. This makes sure that there are no left-flowing signals.

Outport Block Position

Ensures that any Outport block is placed on the right side of the block it is directly connected to. This makes sure that there are no left-flowing signals.

Trigger and Enable Block Position

Ensures that all Trigger and Enable blocks are placed on top of all other blocks within the same subsystem.

Usage of Relational Operator Block

The first input of the Relational Operator block shall not be connected to a Constant block. The Constant block may be connected to the second input.

Block Sizes

The block sizes of the test object shall conform to predefined settings. This check uses the definitions from the parameter "Reference Libraries".

Font Defaults for New Models

The following font defaults are required for all new models:

Simulink Objects Font Size Weight Angle Color Drop Shadow
Blocks Arial 10 Normal Normal Black Off
Lines Arial 9 Normal Normal Black Off
Annotations Arial 10 Normal Normal Black Off
Note
The font's name, size, weight and angle can be modified in File > Simulink Preferences > Font Defaults for New Models

Font Formatting

The fonts of all blocks, signals and annotations shall match the Font Defaults for New Models. An exception to this rule are subsystem titles, requirement descriptions and comments starting with %.

Port Name Visibility

Port names shall be visible for all graphical subsystem masks. Therefore the mask's "Icon Transparency" shall be set to "Opaque with ports" and the subsystem's setting "Show port labels" shall be set to "FromPortIcon". This ensures that the correct labels are displayed on top of all mask drawing commands.

The use of the mask command "port_label" is prohibited, as its label can be different from the underlying port name.

Rationale

  • Readability; Allows models to be easily reviewed and maintained
  • Workflow; Shows correct block connectivity and facilitates review
  • Use of unambiguous graphical representation


Input Parameters Selection
# Name Value
1 Reference Library Safety_Block_Sizes.mdl
2 Check Linked Libraries false

Check Time: 0.087 s, Model Update Time: 0.000 s


Check View Options
Identify model view options which are inconsistent with the ruleset.

Passed
The model's View Options comply with the check rules.

Self time: 0.005 s


Check Block Display Options
Identify block display options which are inconsistent with the ruleset.

Passed
The model's Display Options comply with the check rules.

Self time: 0.001 s


Check Signal Display Options
Identify signal display options which are inconsistent with the ruleset.

Passed
The model's Signal Display Options comply with the check rules.

Self time: 0.001 s


Check Inport Block Position
Ensure that all Inport Blocks are place on the left side of all connected blocks.

Passed
All ports are correctly positioned.

Self time: 0.003 s


Check Outport Block Position
Ensure that all Outport Blocks are place on the right side of the connected block.

Passed
All ports are correctly positioned.

Self time: 0.003 s


Check Trigger and Enable Block Position
Ensure that Trigger and Enable Blocks are placed on top of all other blocks in the same subsystem.

Passed
All ports are correctly positioned.

Self time: 0.003 s


Check Usage of Relational Operator Block
The first input of the Relational Operator Block shall not be connected to a Constant Block.

Passed
All Relational Operator blocks are correctly used.

Self time: 0.003 s


Check Block Sizes
Identify blocks which do not match with the library block' sizes.

Passed
All blocks have correct sizes.

Self time: 0.007 s


Check Font Defaults for New Models
The font defaults for new models shall comply with the modeling guideline.

Passed
The font defaults are set correctly.

Self time: 0.005 s


Check Font Formatting
The Font Formatting of each object is checked to match the Simulink standard.

Passed
All blocks use correctly formatted fonts.

Self time: 0.052 s


Check Port Name Visibility
For all graphical subsystem masks, port names shall be visible.

Passed
All ports names are displayed correctly.

Self time: 0.004 s

ev_1018: Connectivity of From and Goto blocks

ID: Title ev_1018: Connectivity of From and Goto blocks
Priority Mandatory
Scope MISRA: AC SLSF 018 (D, E), ISO 26262-6 5.4.7 Table 1 1e
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20160810)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Goto Block Connectivity

Every Goto block shall have one or more From blocks on the same model level.

From Block Connectivity

Every From block shall have exactly one matching Goto block on the same model level.

Rationale

  • Usability
  • Functionality
  • Maintainability
  • Use of established design principles


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.012 s, Model Update Time: 0.000 s


Check Goto Block Connectivity
Every Goto block shall have one or more From blocks on the same model level.

Passed

Self time: 0.005 s


Check From Block Connectivity
Every From block shall have exactly one matching Goto block on the same model level.

Passed

Self time: 0.005 s

ev_1034: Merge Block Usage

ID: Title ev_1034: Merge Block Usage
Priority Strongly recommended
Scope ISO 26262-6 5.4.7 Table 1 1e
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20160208)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Consistency of Block Parameters

For all Merge blocks the initial output value shall be specified and the setting "Allow unequal port widths" shall be switched off.

Cascading of Merge Blocks

Merge blocks shall not be cascaded, i.e. the output port of a Merge block shall not connect to another Merge block. I case where multiple signals shall be merged, the number of Merge inputs can be increased.

Reuse of Merge Inputs

The input signals of a Merge block shall not be reused for further calculations, i.e. the Merge block shall be the only sink for merged signals.

Rationale

  • Readability
  • Workflow
  • Verification and Validation
  • Use of established design principles


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.016 s, Model Update Time: 0.000 s


Check Consistency of Block Parameters
For all Merge blocks the initial output value shall be specified and the setting "Allow unequal port widths" shall be switched off.

Passed

Self time: 0.004 s


Check Cascading of Merge Blocks
Merge blocks shall not be cascaded, i.e. the output port of a Merge block shall not connect to another Merge block. In case where multiple signals shall be merged, the number of Merge inputs can be increased.

Passed

Self time: 0.006 s


Check Reuse of Merge Inputs
The input signals of a Merge block shall not be reused for further calculations, i.e. the Merge block shall be the only sink for merged signals.

Passed

Self time: 0.006 s

ev_1050: Usage of Data Stores in Simulink

ID: Title ev_1050: Usage of Data Stores in Simulink
Priority Recommended
Scope ISO 26262-6 5.4.7 Table 1 1a, 1e
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20170403)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Data Store Positioning

The Data Store Read and Data Store Write blocks shall be placed within the subsystem where the related Data Store Memory block exists.

Data Store Naming

The name of a Data Store block shall consist of its named data. If multiple instances of Data Store blocks with the same named data exist on one model level, an optional numeric suffix is allowed.

Rationale

  • Simulation
  • Code Generation
  • Safety
  • Enforcement of low complexity
  • Use of established design principles


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.014 s, Model Update Time: 0.000 s


Check Data Store Positioning
The Data Store Read and Data Store Write blocks shall be placed within the subsystem where the related Data Store Memory block exists.

Passed

Self time: 0.005 s


Check Data Store Naming
The name of a Data Store block shall consist of its named data.

Passed

Self time: 0.008 s

ev_1167: Explicit Initialization of Block Outputs

ID: Title ev_1167: Explicit Initialization of Output Signals
Priority Highly Recommended
Scope MISRA SLSF: 007 A, ISO 26262-6 5.4.7 Table 1 1d
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20141120)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Explicit Initialization in Simulink

Blocks in Simulink that have an initialization parameter (e.g. unit delays, integrators, output ports in conditionally executed subsystems) shall explicitly define the initialization value.

Explicit Initialization in Stateflow

Output data in Stateflow shall explicitly define the initialization value.

Rationale

  • Readability
  • Workflow
  • Verification and Validation
  • Code Generation
  • Use of defensive implementation techniques


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.011 s, Model Update Time: 0.000 s


Check Explicit Initialization in Simulink
Blocks in Simulink that have an initialization parameter (e.g. unit delays, integrators, output ports in conditionally executed subsystems) shall explicitly define the initialization value.

Passed
All blocks define a valid initial output.

Self time: 0.006 s


Check Explicit Initialization in Stateflow
Output data in Stateflow shall explicitly define the initialization value.

Passed

Self time: 0.004 s

ev_1170: Unique IDs of Requirements

ID: Title ev_1170: Unique IDs of Requirements
Priority Recommended
Scope ISO 26262-6 5.4.7 Table 1 1f
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20160208)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Requirements Pattern

The parameter "Requirements Pattern" defines a specific pattern which helps finding the requirements IDs in the model and code. The pattern can be a prefix, e.g. "REQ: " or it can be part of the Requirements ID, e.g. "_REQ_".

Example: REQ: AUU_235

Description

Unique IDs of Requirements

All requirements IDs shall be uniquely used within a model, i.e. multiple instances are not allowed.

Rationale

  • Readability
  • Workflow
  • Verification and Validation
  • Code Generation
  • Use of unambiguous graphical representation


Input Parameters Selection
# Name Value
1 Requirements Pattern REQ:
2 Check Linked Libraries false

Check Time: 0.007 s, Model Update Time: 0.000 s


Check Unique IDs of Requirements
List non-unique requirement IDs.

Passed
All requirement IDs are unique.

Self time: 0.006 s

ev_1201: Fixed Point Scaling

ID: Title ev_1201: Fixed-Point Scaling
Priority Recommended
Scope ISO 26262-6 5.4.7 Table 1 1c
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20160208)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

For fixed-point code generation power of two scaling (Binary point) shall be used.

Rationale

  • Readability
  • Workflow
  • Verification and Validation
  • Code Generation
  • Enforcement of strong typing


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.004 s, Model Update Time: 0.000 s


Check Fixed-Point Scaling
Identify fix point data not using power of two scaling.

Passed

Self time: 0.003 s

ev_0043: State Boundary Transitions

ID: Title ev_0043: State Boundary Transitions
Priority Strongly Recommended
Scope MISRA SLSF: 043 (EF), ISO 26262-6 5.4.7 Table 1 1a, 1f
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.1 (20160210)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Internal Transitions

Only one internal transition shall be used within any state. The internal transition shall start at upper left state boundary. Such internal transition represents the during action of the state.

External Transitions

Only one external transition shall be used from any state. The second external state transition may be used for temporal logic only.

Rationale

  • Review
  • Verification
  • Code Generation
  • Enforcement of low complexity
  • Use of unambiguous graphical representation


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.009 s, Model Update Time: 0.000 s


Check Internal Transitions
Only one internal transition shall be used within any state. The internal transition shall start at upper left state boundary.

Passed
All internal transitions are used correctly.

Self time: 0.004 s


Check External Transitions
Only one external transition shall be used from any state. The second external state transition may be used for temporal logic only.

Passed
All external transitions are used correctly.

Self time: 0.004 s

ev_0046: Restricted set of Stateflow language

ID: Title ev_0046: Restricted set of Stateflow language
Priority Mandatory
Scope JMAAB: db_0126, MISRA SLSF: 041, 044 (modified), 045 (modified), 046, 048 (partial), ISO 26262-6 5.4.7 Table 1 1b
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.2 (20160520)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

A well-defined set of the Stateflow language shall be used, i.e. all cumbersome language objects and properties shall be avoided.

Truth Tables

Truth tables shall not be used.

State Transition Tables

State transition tables shall not be used.

MATLAB Functions

MATLAB functions shall not be used.

Simulink Functions

Simulink functions shall not be used.

History Junctions

History junctions shall not be used.

Transition Actions

Transition actions (/action) shall not be used.

State Actions

State actions (entry, during, exit) shall not be used.

External C-Code Functions

External C-Code functions shall not be used.

Boxes

Boxes shall not be used for state modeling and data storage. Boxes shall only contain text.

Rationale

  • Readability
  • Simulation
  • Verification
  • Code Generation
  • Use of language subsets


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.029 s, Model Update Time: 0.000 s


Check Truth Tables
Truth tables shall not be used.

Passed
No truth tables were detected.

Self time: 0.003 s


Check State Transition Tables
State transition tables shall not be used.

Passed
No state transition tables were detected.

Self time: 0.003 s


Check MATLAB Functions
MATLAB functions shall not be used.

Passed
No MATLAB functions were detected.

Self time: 0.003 s


Check Simulink Functions
Simulink functions shall not be used.

Passed
No Simulink functions were detected.

Self time: 0.003 s


Check History Junctions
History junctions shall not be used.

Passed
No history junctions were detected.

Self time: 0.003 s


Check Illegal Transition Actions
Transition actions (i.e. /action) shall not be used.

Passed
No transition actions were detected.

Self time: 0.003 s


Check State Actions
State actions (i.e. entry, during, exit) shall not be used.

Passed
No state actions were detected.

Self time: 0.003 s


Check External C-Code Functions
External C-Code functions shall not be used.

Passed
No external C-Code functions were detected.

Self time: 0.003 s


Check Boxes
Boxes shall not be used for state modeling and data storage. Boxes may be used for subcharting reasons and shall only contain text.

Passed
No boxes were detected.

Self time: 0.003 s

ev_0047: Stateflow Events

ID: Title ev_0047: Stateflow Events
Priority Mandatory
Scope MAAB: db_0126, jm_0012, MISRA SLSF: 047 (modified), MISRA AC SLSF 043 J, ISO 26262-6 5.4.7 Table 1 1a, 1b
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.1 (20160316)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Stateflow Events

Local, directed and broadcast Stateflow events, including all implicit events shall not be used. Only two types of events are allowed:

  • Output event
  • Temporal logic

Usage of Temporal Logic

In all flow charts and graphical functions, temporal logic shall not be used. Temporal logic may be used in state charts only. Temporal logic implies exclusive states are required in which case a state chart shall be used.

Rationale

  • Readability
  • Verification
  • Code Generation
  • Enforcement of low complexity
  • Use of language subsets


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.007 s, Model Update Time: 0.000 s


Check Stateflow Events
Local, directed and broadcast Stateflow events, including all implicit events shall not be used.

Passed

Self time: 0.003 s


Check Usage of Temporal Logic
In all flow charts and graphical functions, temporal logic shall not be used. Temporal logic may be used in state charts only.

Passed

Self time: 0.003 s

ev_0050: Stateflow window and text appearance

ID: Title ev_0050: Stateflow window and text appearance
Priority Mandatory
Scope MISRA AC SLSF 050 (modified), ISO 26262-6 5.4.7 Table 1 1f
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.2 (20160210)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Window Appearance

All Stateflow ojects shall use the pre-set "factory" color & style scheme.

Stateflow Zoom

The zoom factor of Stateflow windows shall be normal (100%).

Text Appearance

  • All Stateflow text (except Title) shall use Arial standard 10pt font.
  • All text of the state label shall be within the state boundary.

Usage of Comments

All Stateflow comments shall:

  • use C-like "/* */" symbols as delimiters;
  • be drawn at the beginning of the label;
  • be separated by new line from the rest of the text.

Transition Labels

All Stateflow transition labels shall:

  • be visually associated to the corresponding transition;
  • be placed to the right of vertical transitions;
  • be placed on the top of horizontal transitions.

Rationale

  • Readability
  • Workflow
  • Use of unambiguous graphical representation


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.073 s, Model Update Time: 0.000 s


Check Window Appearance
All Stateflow ojects shall use the pre-set "factory" color & style scheme.

Passed
All Stateflow objects are correctly formatted.

Self time: 0.006 s


Check Stateflow Zoom
The zoom factor of Stateflow windows shall be normal (100%).

Passed
All Stateflow objects are correctly zoomed.

Self time: 0.058 s


Check Usage of Comments
All Stateflow comments shall use C-like "/* */" symbols as delimiters, be drawn at the beginning of the label and be separated by new line from the rest of the text.

Passed
All Stateflow comments are correctly used.

Self time: 0.004 s


Check Transition Labels
All Stateflow transition labels shall be visually associated to the corresponding transition, placed to the right of vertical transitions and placed on the top of horizontal transitions.

Passed
All transition labels are correctly placed.

Self time: 0.004 s

ev_0053: Junctions in Flowcharts

ID: Title ev_0053: Junctions in Flowcharts
Priority Mandatory
Scope MISRA SLSF: 053 (JK), ISO 26262-6 5.4.7 Table 1 1f
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.2 (20160519)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Junction Size

The size of all Stateflow junctions shall be 14.

Default Path at Decision Points

All junctions, i.e. decision points, except for the terminating junctions, shall have exactly one unconditional transition, i.e. default path.

Terminating Junctions

  • In a flow chart there shall be only one terminating junction.
  • The terminating junction shall be the lowest junction of the flow chart.
  • The terminating junction shall have only one incoming transition.
  • The incoming transition of the terminating junction shall be unconditional.

Rationale

  • Review
  • Verification
  • Code Generation
  • Use of unambiguous graphical representation


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.013 s, Model Update Time: 0.000 s


Check Junction Size
The size of all Stateflow junctions shall be 14.

Passed

Self time: 0.004 s


Check Default Path at Decision Points
All junctions (decision point), except for the terminating junction, shall have exactly one unconditional transition (default path).

Passed

Self time: 0.004 s


Check Terminating Junctions
In a flow chart there shall be only one terminating junction as the lowest of the flowchart. It may have only one unconditional incoming transition.

Passed

Self time: 0.004 s

ev_0123: Stateflow Port Names

ID: Title ev_0123: Stateflow Port Names
Priority Strongly Recommended
Scope MAAB: db_0123, ISO 26262-6 5.4.7 Table 1 1f
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20141120)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Stateflow Port Names

The name of a Stateflow/MATLAB input or output shall be the same as the corresponding signal.

Note
An exception to this rule are reusable Stateflow blocks which may have different port names.

Rationale

  • Readability
  • Workflow
  • Use of unambiguous graphical representation


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.004 s, Model Update Time: 0.000 s


Check Stateflow Port Names
The name of a Stateflow/MATLAB input or output shall be the same as the corresponding signal.

Passed
All Stateflow ports and their corresponding signal names match.

Self time: 0.004 s

ev_0125: Usage of Stateflow Data

ID: Title ev_0125: Usage of Stateflow Data
Priority Strongly Recommended
Scope MAAB: db_0125, MISRA SLSF: 036 (B) 037 (ABDEGH), ISO 26262-6 5.4.7 Table 1 1c
MATLAB All Versions
Static Check Yes
Prerequisites ev_0302
Last Change v2.3 (20160520)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Usage of Calibration Parameters

Calibration parameters, i.e. data store memory, shall not be used in Stateflow. All calibration data shall be explicitly passed as inputs to Stateflow. All observed data shall be explicitly passed as outputs from Stateflow.

Usage of Named Data

Usage of named data instead of literals, i.e. 'magic numbers', is required. The only exception from this rule is the usage of literals 0 and 1 in counters and relational operations. MATLAB variables "true" and "false" as well as "ones(n,m)" and "zeros(n,m)" are recommended for boolean constants.

Explicit Interface Definition

Stateflow interfaces shall have explicit definition of data type, dimension and ranges.

Scope of Signals and Variables

Internal signals, local auxiliary variables and events shall be defined on the chart level or below, i.e. no local data is allowed on the machine level. Parameters and constants are allowed at the machine level.

Correct Incorrect

Local Data in Parallel States

The scope of internal data shall be restricted to one parallel state unless the same data is required in other parallel states.

Unused data and events

Unused data and events shall not exist in the Stateflow block. Note: Set configuration parameter "Diagnostics -> Stateflow -> Unused data and events" to "error".

Rationale

  • Readability; Enables human inspection and maintenance
  • Workflow; Ensures usage of correct signals in wider system context
  • Verification and Validation
  • Enforcement of strong typing


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.034 s, Model Update Time: 0.000 s


Check Usage of Calibration Parameters
Calibration parameters, i.e. data store memory, shall not be used in Stateflow.

Passed
No calibration parameters are used within Stateflow.

Self time: 0.003 s


Check Usage of Named Data
Usage of named data instead of literals, i.e. 'magic numbers', is required. The only exception from this rule is the usage of literals 0 and 1 in counters and relational operations. MATLAB variables "true" and "false" as well as "ones(n,m)" and "zeros(n,m)" are recommended for boolean constants.

Passed
No literals are used.

Self time: 0.004 s


Check Explicit Interface Definition
Stateflow interfaces shall have explicit definition of data type, dimension and ranges.

Passed
All Stateflow interfaces are fully specified.

Self time: 0.004 s


Check Scope of Signals and Variables
Internal signals, local auxiliary variables and events shall be defined on the chart level or below, i.e. no local data is allowed on the machine level. Parameters and constants are allowed at the machine level.

Passed
All data objects are scoped at chart level or below.

Self time: 0.016 s


Check Local Data in Parallel States
The scope of internal data shall be restricted to one parallel state unless the same data is required in other parallel states.

Passed

Self time: 0.004 s


Check Unused Data and Events
Unused data and events shall not exist in the Stateflow block. Note: Set configuration parameter "Diagnostics -> Stateflow -> Unused data and events" to "error".

Passed
No Stateflow used below check object.

Self time: 0.003 s

ev_0127: MATLAB Commands in Stateflow

ID: Title ev_0127: MATLAB Commands in Stateflow
Priority Mandatory
Scope MAAB: db_0127, ISO 26262-6 5.4.7 Table 1 1b
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v2.0 (20141120)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

MATLAB Commands in Stateflow

The following rules apply to logic in Stateflow:

  • MATLAB functions are not used.
  • MATLAB instructions are not used.
  • MATLAB operators are not used.
  • Project-specific MATLAB functions are not used.
Incorrect

Rationale

  • Readability
  • Workflow
  • Verification and Validation
  • Code Generation
  • Use of language subsets


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.007 s, Model Update Time: 0.000 s


Check MATLAB Commands in Stateflow
The following rules apply to logic in Stateflow: MATLAB functions shall not be used, MATLAB instructions shall not be used, MATLAB operators shall not be used, project-specific MATLAB functions shall not be used.

Passed
All used Stateflow objects are suitable for code generation.

Self time: 0.006 s

ev_0132: Transitions in Flowcharts

ID: Title ev_0132: Transitions in Flowcharts
Priority Strongly Recommended
Scope MAAB: db_0132, ISO 26262-6 5.4.7 Table 1 1f
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v2.0 (20141120)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Conditions in Flowcharts

Condition expressions shall be drawn on the horizontal segments of flowcharts. Loop constructs are intentional exceptions to this rule.

Actions in Flowcharts

Transition actions shall be drawn on the vertical segments of flowcharts.

Default Transitions in Flowcharts

At every junction, except for the last junction of a flow diagram, exactly one unconditional transition begins. Every decision point (junction) shall have a default path.

Combinations of Conditions and Actions

Transitions shall either have a condition or a condition action. They may also be empty but shall not contain both a condition and an action.

Rationale

  • Readability
  • Workflow
  • Verification and Validation
  • Use of unambiguous graphical representation


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.022 s, Model Update Time: 0.000 s


Check Conditions in Flowcharts
Condition expressions shall be drawn on the horizontal segments of flowcharts.

Passed
All conditional transitions are drawn horizontally.

Self time: 0.004 s


Check Actions in Flowcharts
Transition actions shall be drawn on the vertical segments of flowcharts.

Passed
All Stateflow Actions are drawn vertically.

Self time: 0.004 s


Check Condition Actions Patterns
Each condition action and its corresponding brackets shall be put on a separate line.

Passed
All transitions actions are correctly formatted.

Self time: 0.005 s


Check Default Transitions in Flowcharts
At every junction, except for the last junction of a flow diagram, exactly one unconditional transition begins.

Passed
All Junctions with conditions have a default exit.

Self time: 0.004 s


Check Combinations of Conditions and Actions
Transitions shall either have a condition or a condition action. They may also be empty but must not contain both a condition and an action.

Passed
All conditions and actions are separated correctly.

Self time: 0.004 s

ev_0137: States in State Machines

ID: Title ev_0137: States in State Machines
Priority Mandatory
Scope MAAB: db_0137, ISO 26262-6 5.4.7 Table 1 1f
MATLAB All Versions
Static Check Yes
Prerequisites ev_0132: Transitions in Flowcharts
Last Change v2.0 (20141120)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Exclusive States in State Machines

At every level of a Stateflow hierarchy state machines shall have at least two exclusive states.

Assignment of Default States

At every level of a Stateflow hierarchy state machines shall have a singular initial state defined by a default transition.

Rationale

  • Readability
  • Workflow
  • Verification and Validation
  • Use of unambiguous graphical representation


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.009 s, Model Update Time: 0.000 s


Check Exclusive States in State Machines
At every level of a Stateflow hierarchy state machines shall have at least two exclusive states.

Passed
All Exclusive OR States are used correctly.

Self time: 0.004 s


Check for Singular Assigned Default States
At every level of a Stateflow hierarchy state machines shall have a singular initial state defined by a default transition.

Passed
All default States are assigned correctly.

Self time: 0.004 s

ev_0151: Transition Action Patterns

ID: Title ev_0151: State Machine Patterns for Transition Actions
Priority Strongly Recommended
Scope MAAB: db_0151, ISO 26262-6 5.4.7 Table 1 1f
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v2.0 (20141120)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Transition Action Patterns

Each transition action shall be put on a separate line. This implies that the following patterns are used for transition actions within Stateflow state machines:

State Machine Pattern Equivalent Functionality Description
action; One transition action
action1;
action2;
action3;
Two or more transition actions.
Multiple actions on one line are not allowed.

Rationale

  • Readability
  • Workflow
  • Verification and Validation
  • Use of unambiguous graphical representation


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.006 s, Model Update Time: 0.000 s


Check Transition Action Patterns
Each transition action shall be put on a separate line.

Passed
All transitions actions are correctly formatted.

Self time: 0.005 s

ev_0230: Stateflow Transitions

ID: Title ev_0230: Stateflow Transitions
Priority Mandatory
Scope ISO 26262-6 5.4.7 Table 1 1e, 1f; 7.4.14; 9.4.3; 9.4.4; 10.4.3; 10.4.4
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.1 (20160520)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Straight Transition Lines

Stateflow transitions shall be drawn straight and exactly horizontal or vertical.

Correct

Inner flow charts may be used for modelling entry and during actions.

Rationale

  • Readability; Supports human inspection
  • Workflow
  • Use of established design principles
  • Use of unambiguous graphical representation


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.005 s, Model Update Time: 0.000 s


Check Straight Transition Lines
Stateflow Transitions shall be drawn straight and exactly horizontal or vertical.

Passed
The unit does not have any Stateflow Transitions.

Self time: 0.004 s

ev_0294: Stateflow Chart Properties

ID: Title ev_0294: Stateflow Chart Properties
Priority Mandatory
Scope MISRA SLSF: 034, ISO 26262-6 5.4.7 Table 1 1e
MATLAB All Versions
Static Check Yes
Prerequisites ev_0751: Outcoming Transitions in Stateflow Junctions
Last Change v1.0 (20151007)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Check Stateflow Chart Properties

The following Stateflow chart properties shall be used:

Chart Property Setting
Action language C
State machine type Classic
Update method Inherited
Enable C-bit operations ON
User specified state/transition execution order OFF
Use strong data typing with Simulink I/O ON
Execute (enter) chart at initialization OFF
Initialize outputs every time chart wakes up OFF
Enable super step semantics OFF
Support variable-size arrays OFF
Saturate on integer overflow OFF
Note
To ensure consistent behavior the "User specified state/transition execution order" is only disabled during modification if the execution order of the containing transitions is not changed.

Check Conflicting User Specified Execution Order

List all transitions with a user specified execution order that does not match the automatic execution order applied after "User specified state/transition execution order" is disabled.

Rationale

  • Readability
  • Simulation
  • Verification
  • Code Generation
  • Use of established design principles


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.007 s, Model Update Time: 0.000 s


Check Stateflow Chart Properties
Identify incorrectly configured Stateflow charts.

Passed

Self time: 0.005 s


Check Conflicting User Specified Execution Order
Identify mismatches between user-specified and automatic execution order.

Passed

Self time: 0.001 s

ev_0297: Mathematical operations in Stateflow

ID: Title ev_0297: Mathematical operations in Stateflow
Priority Recommended
Scope MISRA SLSF: 038 (ABC), ISO 26262-6 5.4.7 Table 1 1a, 1b, 1d
MATLAB All Versions
Static Check Yes
Prerequisites ev_0294: Stateflow Chart Properties
Last Change v1.3 (20161021)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Permitted Operations in Stateflow

Algebraic:

  • a * b, Multiplication
  • a + b, Addition
  • a - b, Subtraction

Relational

  • a > b, Comparison of the first operand greater than the second operand
  • a < b, Comparison of the first operand less than the second operand
  • a >= b, Comparison of the first operand greater than or equal to the second operand
  • a <= b, Comparison of the first operand less than or equal to the second operand
  • a == b, Comparison of equality of two operands
  • a != b, Comparison of inequality of two operands

Logical

  • a && b, Logical AND of two operands
  • a || b, Logical OR of two operands

Bitwise

  • a >> b, Shift operand a right by b bits
  • a << b, Shift operand a left by b bits
  • a & b, Bitwise AND of two operands
  • a ^ b, Bitwise XOR of two operands
  • a | b, Bitwise OR of two operands

Unary

  • !a, Logical NOT of a
  • -a, Negative of a
  • a++, Increment a
  • a--, Decrement a

Assignment

  • a = expression, Simple assignment
  • a += expression, Equivalent to a = a + expression
  • a -= expression, Equivalent to a = a - expression
  • a *= expression, Equivalent to a = a * expression
  • a |= expression, Equivalent to a = a | expression (bit operation)
  • a &= expression, Equivalent to a = a & expression (bit operation)
  • a ^= expression, Equivalent to a = a ^ expression (bit operation)

Operators in Conditions

Stateflow conditions shall contain only logical (incl. logical NOT) and relational operators

Mixed Operators in Actions

Individual Stateflow actions shall contain only one type of operator (i.e. only addition or only subtraction etc.)

Legacy Code

C library functions and MATLAB functions besides typecasting shall not be used in Stateflow.

Bit Operations

Stateflow Option "Enable C-like bit Operations" shall be switched on.

Rationale

  • Simulation
  • Code Generation
  • Safety
  • Enforcement of low complexity
  • Use of language subsets
  • Use of defensive implementation techniques


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.033 s, Model Update Time: 0.000 s


Check Permitted Operations in Stateflow
Identify illegal Stateflow operations.

Passed

Self time: 0.007 s


Check Operators in Conditions
Identify conditions which contain illegal operators.

Passed

Self time: 0.006 s


Check Mixed Operators in Actions
Identify illegally concatenated Stateflow operations.

Passed

Self time: 0.007 s


Check Legacy Code
Identify illegal function usage.

Passed
No illegal function calls are used.

Self time: 0.006 s


Check Bit Operations
Identify Stateflow charts not enabling C bit operations.

Passed

Self time: 0.006 s

ev_0501: Format of Entries in a State Block

ID: Title ev_0501: Format of Entries in a State Block
Priority Recommended
Scope MAAB: jc_0501, ISO 26262-6 5.4.7 Table 1 1f
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v2.0 (20141120)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Format of Entries in State Blocks

A new line shall be:

  • Started after the entry (en), during (du), and exit (ex) statements.
  • Started after the completion of an assignment statement ";".
Correct Incorrect Incorrect
Failed to start a new line after en, du and ex Failed to start a new line after the completion of an assignment statement ";".

Rationale

  • Readability
  • Use of unambiguous graphical representation


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.008 s, Model Update Time: 0.000 s


Check Format of Entries in State Blocks
A new line shall be started after the entry, during, and exit statements as well as after the completion of an assignment statement ";".

Passed
All entry, during and exit entries are correctly formatted.

Self time: 0.006 s

ev_0511: Setting Return Value from Graphical Functions

ID: Title ev_0511: Setting the Return Value from a Graphical Function
Priority Mandatory
Scope J-MAAB: jc_0511, ISO 26262-6 5.4.7 Table 1 1e
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v2.0 (20141120)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Return Value Assignment from Graphical Functions

The return value from a graphical function shall be set in only one place.

Correct Incorrect

Rationale

  • Workflow
  • Code Generation
  • Use of established design principles


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.008 s, Model Update Time: 0.000 s


Check Return Value Assignment from Graphical Functions
The return value from a graphical function shall be set in only one place.

Passed
All used graphical functions correcly assign their return values.

Self time: 0.007 s

ev_0521: Use of Return Value from Graphical Functions

ID: Title ev_0521: Use of the Return Value from Graphical Functions
Priority Recommended
Scope J-MAAB: jc_0521, ISO 26262-6 5.4.7 Table 1 1e
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v2.0 (20141120)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Return Value Usage from Graphical Functions

The return value from a graphical function shall not be used directly in a comparison operation.

Correct Incorrect
An intermediate variable holding the value of GetCurrent() is used in the conditional expression. Return value of the function GetCurrent() is used directly in the conditional expression.

Rationale

  • Workflow
  • Code Generation
  • Use of established design principles


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.004 s, Model Update Time: 0.000 s


Check Return Value Usage from Graphical Functions
The return value from a graphical function shall not be used directly in a comparison operation.

Passed
No graphical functions are called in conditional expressions.

Self time: 0.003 s

ev_0531: Default Transitions in Stateflow

ID: Title ev_0531: Default Transitions in Stateflow
Priority Strongly Recommended
Scope MAAB: jc_0531, db_0137, MISRA SLSF: 042 (ABCDE), 051 (A), 053 (HI), ISO 26262-6 5.4.7 Table 1 1f
MATLAB All Versions
Static Check Yes
Prerequisites ev_0132, ev_0137, ev_0302
Last Change v1.1 (20160512)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Placement of Default Transition

Default transitions shall be connected to the upper part of the state or a junction.

Placement of Default State

Default transitions shall be connected to states or junctions positioned in the far upper left within the same chart level.

Unguarded Path to a State

Default transitions shall have an unguarded path to a state.

Note
The Simulink setting "Diagnostics->Stateflow->No unconditional default transitions" shall be set to "error".

Crossing State Boundaries

The default transition shall not cross any state boundaries, i.e. default transitions shall be established internally for each chart level.

Single Instance Default Transition

Exactly one default transition shall exist on each hierarchical chart level, i.e. multiple default transitions are not permitted on the same chart level. Super-states containing other states shall also comply with this rule.

Rationale

  • Readability
  • Workflow
  • Verification and Validation
  • Use of unambiguous graphical representation


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.014 s, Model Update Time: 0.000 s


Check Placement of Default Transition
Default transitions shall be connected to the upper part of the state or a junction.

Passed
All default transitions are connected to the state top.

Self time: 0.003 s


Check Placement of Default State
Default transitions shall be connected to states or junctions positioned in the far upper left within the same chart level.

Passed
All default states are placed above all others.

Self time: 0.003 s


Check Unguarded Path to a State
Default transitions shall have an unguarded path to a state.

Passed

Self time: 0.000 s


Check Crossing State Boundaries
The default transition shall not cross any state boundaries, i.e. default transitions shall be established internally for each chart level.

Passed

Self time: 0.003 s


Check Single Instance Default Transition
Exactly one default transition shall exist on each hierarchical chart level, i.e. multiple default transitions are not permitted on the same chart level.

Passed

Self time: 0.003 s

ev_0751: Outcoming Transitions in Stateflow Junctions

ID: Title ev_0751: Outcoming Transitions in Stateflow Junctions
Priority Mandatory
Scope MAAB: jc_0751, jc_0773, MISRA AC SLSF 043 (CGHI), ISO 26262-6 5.4.7 Table 1 1f
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.1 (20160210)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Unconditional Transitions

Each junction (except terminating) shall have exactly one unconditional tansition.

Conditional Transitions

Each junction (except terminating) shall have no more then one conditional transition, i.e. multiple conditions shall be cascaded.

Order of Transitions

At each junction the conditional transitions shall be tested prior to the unconditional transition, i.e. conditional transition shall have number 1 in execution order.

Rationale

  • Review
  • Verification
  • Code Generation
  • Use of unambiguous graphical representation


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.012 s, Model Update Time: 0.000 s


Check Unconditional Transitions
Each junction (except terminating) shall have exactly one unconditional tansition.

Passed

Self time: 0.004 s


Check Conditional Transitions
Each junction (except terminating) shall have no more than one conditional transition.

Passed

Self time: 0.004 s


Check Order of Transitions
At each junction the conditional transitions shall be tested prior to the unconditional transition.

Passed

Self time: 0.004 s

ev_1001: Bitwise Stateflow Operators

ID: Title ev_1001: Bitwise Stateflow Operators
Priority Strongly Recommended
Scope MAAB: na_0001, ISO 26262-6 5.4.7 Table 1 1d
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v2.2 (20160520)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Bitwise Stateflow Operators

The bitwise Stateflow operators (&, |, and ^) shall not be used in Stateflow charts unless you want bitwise operations. To enable bitwise operations, select File > Chart Properties > Enable C-bit operations.

Correct

Use && and || for Boolean operation.

Correct

Use & and | for bit operation.

Incorrect

Use & and | for Boolean operation.

Rationale

  • Readability
  • Verification and Validation
  • Code Generation
  • Use of defensive implementation techniques


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.010 s, Model Update Time: 0.000 s


Check Bitwise Operators in Charts with 'Enable C-bit Operations' Selected
Identify bitwise operators (&, |, and ^) in expressions containing Boolean data types.

Passed
All bitwise operators are using correct data types.

Self time: 0.005 s


Check Bitwise Operators in Charts with 'Enable C-bit Operations' Cleared
Identify bitwise operators (&, |, and ^) in expressions.

Passed
No bitwise operators are used in charts with 'Enable C-bit Operations' cleared.

Self time: 0.004 s

ev_1011: Pointers in Stateflow

ID: Title ev_1011: Pointers in Stateflow
Priority Strongly Recommended
Scope MAAB: jm_0011, ISO 26262-6 5.4.7 Table 1 1a, 1b, 1d
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20141120)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Pointers in Stateflow

In a Stateflow diagram, pointers to custom code variables are not allowed.

Rationale

  • Readability
  • Workflow
  • Verification and Validation
  • Code Generation
  • Enforcement of low complexity
  • Use of language subsets
  • Use of defensive implementation techniques


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.005 s, Model Update Time: 0.000 s


Check Pointers in Stateflow
In a Stateflow diagram, pointers to custom code variables are not allowed.

Passed
No pointer variables are used.

Self time: 0.004 s

ev_1012: Event Broadcasts

ID: Title ev_1012: Event Broadcasts
Priority Strongly Recommended
Scope MAAB: jm_0012, ISO 26262-6 5.4.7 Table 1 1f
MATLAB All Versions
Static Check Yes
Prerequisites ev_0125: Usage of Stateflow Data
Last Change v1.0 (20141120)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Event Broadcasts

The following rules apply to event broadcasts in Stateflow:

  • Directed event broadcasts are the only type of event broadcasts allowed.
  • The send syntax or qualified event names are used to direct the event to a particular state.
  • Multiple send statements shall be used to direct an event to more than one state.
Example Using Send Syntax Example Using Qualified Event Names

Rationale

  • Readability
  • Workflow
  • Verification and Validation
  • Code Generation
  • Use of unambiguous graphical representation


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.005 s, Model Update Time: 0.000 s


Check Event Broadcasts
Directed event broadcasts are the only type of event broadcasts allowed.

Passed
All event broadcasts are correctly used.

Self time: 0.004 s

ev_3001: Explicit Function Interface

ID: Title ev_3001: Explicit Function Interface
Priority Optional
Scope -
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20181005)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Explicit Function Interface

Ensure function parameters are passed as arguments instead of global variables, when using Embedded Coder for Code Generation.

Rationale

  • Code Generation


Untested

ev_3002: Static Scope of States

ID: Title ev_3002: Static Scope of States
Priority Optional
Scope -
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20181005)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Static Scope of States

Ensure state variables only have static scope.

Rationale

  • Code Generation


Untested

ev_3003: Generate Subsystem

ID: Title ev_3003: Generate Subsystem
Priority Optional
Scope -
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20181005)

Description

Generate Subsystem

Check state of C Code generation for the current subsystem.

Rationale

  • Code Generation


Untested

ev_3017: Description Traceability

ID: Title ev_3017: Documentation Traceability
Priority Recommended
Scope ISO 26262-6 5.4.7 Table 1 1h
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20170509)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Documentation Traceability

To ensure all Simulink documentation can be found in the generated C code, annotation texts need to be added to the description field of their associated blocks.

Note
As there is no official interface offered from MathWorks for accessing annotation connections, connection changes are only detected after the model is saved.

Rationale

  • Readability
  • Workflow
  • Code Generation
  • Use of naming conventions


Input Parameters Selection
# Name Value
1 Check Linked Libraries false

Check Time: 0.025 s, Model Update Time: 0.000 s


Check Simulink Traceability
Detect annotations that are not synchronized with their associated block.

Passed
All Simulink annotations are correctly synchronized.

Self time: 0.020 s


Check Stateflow Traceability
Detect annotations that are not synchronized with their associated block.

Passed

Self time: 0.004 s

ev_2001: Data Type Conversion in TargetLink

ID: Title ev_2001: Data Type Conversion in TargetLink
Priority Recommended
Scope ISO 26262-6 5.4.7 Table 1 1c
MATLAB All Versions
TargetLink All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20151029)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Data Type Conversion in TargetLink

The Data Type Conversion block shall not be used in models used for TargetLink code generation. If the Simulink data type changes, the TargetLink data type has to change too. It is not possible to change the TargetLink data type with the Data Type Conversion block. Use the Rescaler block from the tllib.

Rationale

  • Workflow; Ensures consistency and compatibility across model and code
  • Code Generation
  • Enforcement of strong typing


Untested

ev_2002: Data Types of Lookup Tables in TargetLink

ID: Title ev_2002: Data Types of Lookup Tables in TargetLink
Priority Mandatory
Scope ISO 26262-6 5.4.7 Table 1 1c
MATLAB All Versions
TargetLink All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20151029)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Data Type Usage of TargetLink Lookup Tables

The data type (incl. Scaling, Dimension) of the table must match the datatype of the output for lookup tables. This avoids implicit data type conversion inside the lookup table.

Rationale

  • Code Generation; Enables proper production code generation
  • Enforcement of strong typing


Untested

ev_2003: Data Types of Switch Blocks in TargetLink

ID: Title ev_2003: Data Types of Switch Blocks in TargetLink
Priority Mandatory
Scope ISO 26262-6 5.4.7 Table 1 1c
MATLAB All Versions
TargetLink All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20151029)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Switch Block Data Types in TargetLink

The data inports of Switch Blocks shall have uniform TargetLink data types.

The checkbox "inherit properties" shall be set, so that the outport of the Switch has the same datatype as the data inports. If the checkbox is set, TargetLink ensures that uniform data types are used for the data inports of the switch.

Multiport Switch Block Data Types in TargetLink

The data inports of Multiport Switch Blocks shall have uniform TargetLink data types.

The checkbox "inherit properties" shall be set, so that the outport of the Switch has the same datatype as the data inports. If the checkbox is set, TargetLink ensures that uniform data types are used for the data inports of the switch.

Rationale

  • Workflow; Ensures consistency and compatibility across model and code
  • Code Generation; Enables proper production code generation
  • Enforcement of strong typing


Untested

ev_2005: Constant Block Usage in TargetLink

ID: Title ev_2005: Constant Block Usage in TargetLink
Priority Recommended
Scope ISO 26262-6 5.4.7 Table 1 1c
MATLAB All Versions
TargetLink All Versions
Static Check Yes
Prerequisites ev_0002
Last Change v1.0 (20151029)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Constant Block Configuration in TargetLink

A TargetLink Constant block shall be linked to a variable in the TargetLink Data Dictionary (DD). The name of the DD variable shall be the same as the block name.

Rationale

  • Code Generation; Enables proper production code generation
  • Enforcement of strong typing


Untested

ev_2006: Usage of Ports in TargetLink

ID: Title ev_2006: Usage of Ports in TargetLink
Priority Recommended
Scope -
MATLAB All Versions
TargetLink All Versions
Static Check Yes
Prerequisites ev_0008
Last Change v1.0 (20151029)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

TargetLink Ports

For each subsystem which contains a TargetLink Function block, the Inports/Outports shall be TargetLink Inports/Outports.

TargetLink Port Configuration

Each TargetLink Inport/Outport shall be linked to a Data Dictionary variable unless it is used for AUTOSAR communication. The name of the Data Dictionary variable shall match the name of the port.

Rationale

  • Workflow
  • Code Generation; Enables proper production code generation


Untested

ev_2011: Simulink Design Ranges Synchronization with TargetLink

ID: Title ev_2011: Output Design Ranges in TargetLink
Priority Mandatory
Scope ISO 26262-6 5.4.7; 5.4.7 Table 1 1c
MATLAB All Versions
TargetLink All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20160806)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Output Design Ranges in TargetLink

The Output Design Ranges in Simulink shall match those configured in TargetLink.

Note
The Modify Function fills the missing design ranges when the library link is deactivated based on the following algorithm:
IF (Ranges are defined in Simulink but NOT in TargetLink)
  copy Simulink ranges to TargetLink
ELSE IF (Ranges are defined in TargetLink but NOT in Simulink)
  copy TargetLink ranges to Simulink
ELSE (Ranges are defined in both Simulink and TargetLink AND are different)
  Error: "Design ranges in Simulink settings differ from those in TargetLink settings. Please resolve the conflict manually."
END

Rationale

  • Code Generation; Enables proper production code generation
  • Enforcement of strong typing


Untested

ev_2015: Division by Zero in TargetLink

ID: Title ev_2015: Division by Zero in TargetLink
Priority Recommended
Scope ISO 26262-6 5.4.7 Table 1 1d
MATLAB All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20170425)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Use TargetLink Protection

The setting "Protect against division by zero in production code" of all Product blocks must be set according to the Parameter "Use TargetLink Protection".

Description

Division in TargetLink

If the parameter "Use TargetLink Protection" is set, the divisor signals in Simulink Product and Division blocks shall be precluded from becoming zero. If the divisor signals cannot exclude division by zero from their functional or design ranges, the setting "Protect against division by zero in production code" must be set.

If the parameter "Use TargetLink Protection" is not set, the setting "Protect against division by zero in production code" must be reset for all Product blocks.

Note
The source divisor signals are recursively traced back to determine its functional and design ranges. The following blocks are supported for tracing:
  • Abs
  • Bus Creator/Bus Selector
  • Constant
  • Discrete-Time Integrator
  • Gain
  • Inport
  • Integrator
  • Lookup Table
  • Lookup Table (2-D)
  • Lookup Table (n-D)
  • MinMax
  • Relational Operator
  • Rounding
  • Saturate
  • Sine Wave
  • Sum/Subtract/Add
  • Unary Minus
  • Unit Delay

Rationale

  • Code Generation
  • Use of defensive implementation techniques


Untested

ev_2042: Simulink Data Types Synchronization with TargetLink

ID: Title ev_2042: Simulink Data Types Synchronization with TargetLink
Priority Mandatory
Scope ISO 26262-6 5.4.7
MATLAB All Versions
TargetLink All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20180308)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Simulink Data Types in TargetLink

The Data Types of Simulink objects shall match those configured in TargetLink.

Note
The Modify Function fills the missing design ranges when the library link is deactivated based on the following algorithm:
IF (Data Types are defined in Simulink but NOT in TargetLink)
  copy Simulink Data Types to TargetLink
ELSE IF (Data Types are defined in TargetLink but NOT in Simulink)
  copy TargetLink Data Types to Simulink
ELSE (Data Types are defined in both Simulink and TargetLink AND are different)
  Error: "Data Types in Simulink settings differ from those in TargetLink settings. Please resolve the conflict manually."
END

Rationale

  • Workflow (Supports model reviews)
  • Verification (Enables bit-true simulation)
  • Code Generation (Enables proper production code generation)


Untested

ev_2043: Stateflow Data Types Synchronization with TargetLink

ID: Title ev_2043: Stateflow Data Types Synchronization with TargetLink
Priority Mandatory
Scope ISO 26262-6 5.4.7
MATLAB All Versions
TargetLink All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20180308)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Stateflow Data Types in TargetLink

The Data Types of Stateflow objects shall match those configured in TargetLink.

Note
The Modify Function fills the missing design ranges when the library link is deactivated based on the following algorithm:
IF (Data Types are defined in Stateflow but NOT in TargetLink)
  copy Stateflow Data Types to TargetLink
ELSE IF (Data Types are defined in TargetLink but NOT in Stateflow)
  copy TargetLink Data Types to Stateflow
ELSE (Data Types are defined in both Stateflow and TargetLink AND are different)
  Error: "Data Types in Stateflow settings differ from those in TargetLink settings. Please resolve the conflict manually.
END

Rationale

  • Workflow (Supports model reviews)
  • Verification (Enables bit-true simulation)
  • Code Generation (Enables proper production code generation)


Untested

ev_2044: Simulink Port Name Synchronization with TargetLink

ID: Title ev_2044: Simulink Port Name Synchronization with TargetLink
Priority Mandatory
Scope ISO 26262-6 5.4.7
MATLAB All Versions
TargetLink All Versions
Static Check Yes
Prerequisites None
Last Change v1.0 (20180308)

Parameters

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Port Name Synchronization with TargetLink

The Simulink port names shall match the variable names configured in TargetLink.

Note
The Modify Function corrects the Simulink port names when the library link is deactivated based on the following algorithm:
IF (Simulink port names are different from the variable names configured in TargetLink)
THEN
  copy variable names configured in TargetLin to Simulink
END

Rationale

  • Workflow (Supports model reviews)
  • Code Generation (Enables proper production code generation)


Untested

ev_2301: Model Architecture in TargetLink

ID: Title ev_2301: Model Architecture in TargetLink
Priority Strongly Recommended
Scope ISO 26262-6 7.4.3 Table 3 1a
MATLAB All Versions
TargetLink All Versions
Static Check Yes
Prerequisites None
Last Change v1.2 (20151129)

Parameters

Unit Type

The parameter "Unit Type" defines the reference name of the Simulink Mask which shall be defined for each verification unit. The name of this parameter can be changed to an arbitrary string.

Verification Function

This parameter specifies an M function somewhere on the MATLAB path. The function shall have exactly one argument and one return value. The argument contains a list of all found unit blocks. The return value must be a two-column cell array containing all found issues. The first column may contain blocks which then are automatically checked for exclusions and are being highlighted in the architecture tree. The second column shall contain a short description of the found issue.

Check Linked Libraries

By default, the active libraries within the test object are not checked. The parameter "Check Linked Libraries" allows all subsystems within the test object to be checked, including all active libraries.

Description

Architectural Structure

The hierarchical model architecture shall be displayed in a tree structure based on the predefined "Unit Type".

All found issues determined by the "Verification Function" shall be highlighted in this tree.

Rationale

  • Modular Development; Hierarchical structure of software components
  • Workflow


Untested

Generated on 08-May-2019 18:56:27 by EverCheck v3.7.166, EverBits GmbH