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 |
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) |
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.
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.
# | 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
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) |
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.
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.
MATLAB variables are not sufficient for production models which require rich data specification. Simulink.Parameter objects provide such capability.
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".
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 |
|
|
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 |
|
|
# | 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
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) |
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.
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.
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).
The following interface properties of a test object need to be fully specified:
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.
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.
# | 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.
# | 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.
# | 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
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) |
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.
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.
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.
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:
This check limits the scope to the structure layer based on the parameter "Unit Type".
# | 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
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) |
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" }
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.
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.
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.
The test object uses a restricted subset of Simulink blocks. This check uses the definitions from the parameter "Reference Libraries".
The test object uses blocks with a restricted subset of parameters. This check uses the definitions from the parameter "Reference Libraries".
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".
Displays the complete listing of all allowed blocks along with their parameters.
# | 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
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) |
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.
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.
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.
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.
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.
Identifiers are the names of different items which shall:
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
).
The identifiers conform to the following constraints:
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 _
Each identifier has a length between 1 and 63 characters. This length
can be configured by the parameter
Allowed Identifier Length
.
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:
.
like the version control
directories
.hg
or
.svn
~
like the office swap file
~$TestSpec.xls
Allowed File Extensions
parameter
The file extensions of referenced libraries are included in the
Allowed Library Extensions
parameter.
The names of signal lines and used parameter objects residing inside the checked system comply with the Identifier Rules.
The names of all Stateflow objects comply with the Identifier Rules.
State labels consist of capital letters and underscores only.
The names of Simulink blocks, libraries and subsystems residing inside the checked system comply with the Identifier Rules.
The names of all used Simulink Mask types shall comply with the Identifier rules. This sub-check defines the following exceptions:
simulink
block library are permitted
# | 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
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) |
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.
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:
A label shall be displayed on a signal originating from predefined blocks. These blocks are:
All Inport and Outport blocks have names which are equal to the signal connected to them.
All From and Goto blocks have names which are equal to the signal connected to them.
Every signal originating from a non-reusable subsystem has a propagated signal label.
Signals originating from basic blocks may not propagate signal names. Exceptions from this rules are the following blocks:
All propagated signals have a valid label, i.e. the label may not be empty.
# | 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
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) |
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.
The graphical workspace for every model, subsystem and library is documented to facilitate understanding. The following information is provided as a free text annotation:
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 %.
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:
An exception to this rule are all comments starting with %.
Every MATLAB function, MATLAB script and MATLAB function block is documented to facilitate understanding. The following information shall be provided as a comment:
Correct:
function MyMatlabFunction %MyMatlabFunction Title of function % Description of function
# | 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
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) |
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:
The model is checked for any use which is violating the Allowed Data Types.
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 | |
---|---|---|
|
|
Correct | Correct | |
---|---|---|
|
|
Using the same or explicitly type casted data types.
Incorrect | Incorrect | |
---|---|---|
|
|
Comparison between variables of different data types.
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.
No mathematical operations (*, /, +, -) are allowed for Boolean data in Simulink and Stateflow.
Use of the Data Type Conversion block needs to be justified for each instance.
Ensure that the option Use Strong Data Typing with Simulink I/O is set for each Stateflow Chart.
Ensure that no unary minus operation is applied on unsigned Stateflow data.
The switch block criteria is to be set to u2 ~= 0 and is to be driven by a Boolean signal.
The signal driving the control input of Multiport Switch blocks (input 1) has one of the following integer types:
# | 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
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) |
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.
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.
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.
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.
# | 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
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) |
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.
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 | ||
---|---|---|---|
|
|
# | 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
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) |
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.
Ports associated with Bus Objects shall either inherit their dimensions (i.e. -1) or be set to 1.
# | 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
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) |
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.
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.
# | 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
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) |
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.
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
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
In Stateflow, transition comments shall be used.
Example: /* REQ: AUU_235 */
In S-Function C code comments shall be used.
Example: /* REQ: AUU_235 */
# | 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.
# | 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
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) |
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.
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.
# | 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
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) |
The parameter "Unit Type" defines the project-specific mask type for the verification unit.
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.
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.
The verification unit shall be a masked subsystem with a mask type set to the parameter "Unit Type".
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.
The verification unit shall be linked to a library. The library name shall have the suffix "_lib".
# | 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
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) |
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.
All input ports shall be connected to corresponding signal lines.
All output ports shall be connected to corresponding signal lines.
All signal lines shall be connected to corresponding blocks.
# | 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
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) |
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.
Calculations in block settings are prohibited.
Mathematical operations shall not be used in block settings.
Extraction of vector and array elements shall not be used in block settings.
Structure elements or object properties shall not be used in block settings.
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().
# | 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
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) |
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.
Control flow blocks (e.g. "if-then-else") shall not be nested more than one level deep.
In general, Stateflow shall be used for implementing complex control flow structures.
# | 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
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) |
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.
The names of Trigger and Enable ports and the names of related input signals shall match.
Correct | |
---|---|
|
# | 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
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) |
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.
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.
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.
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.
# | 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
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) |
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.
The model configuration settings shall comply with a project specific configuration. The following settings are addressed:
This check uses the definitions from the parameter "Project Wide Configuration".
# | 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
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) |
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.
# | 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
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) |
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.
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.
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.
# | 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
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) |
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:
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.
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 |
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 |
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 |
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.
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.
Ensures that all Trigger and Enable blocks are placed on top of all other blocks within the same subsystem.
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.
The block sizes of the test object shall conform to predefined settings. This check uses the definitions from the parameter "Reference Libraries".
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 |
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 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.
# | 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
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) |
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.
Every Goto block shall have one or more From blocks on the same model level.
Every From block shall have exactly one matching Goto block on the same model level.
# | 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
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) |
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.
For all Merge blocks the initial output value shall be specified and the setting "Allow unequal port widths" shall be switched off.
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.
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.
# | 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
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) |
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.
The Data Store Read and Data Store Write blocks shall be placed within the subsystem where the related Data Store Memory block exists.
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.
# | 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
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) |
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.
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.
Output data in Stateflow shall explicitly define the initialization value.
# | 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
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) |
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.
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
All requirements IDs shall be uniquely used within a model, i.e. multiple instances are not allowed.
# | 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
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) |
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.
For fixed-point code generation power of two scaling (Binary point) shall be used.
# | 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
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) |
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.
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.
Only one external transition shall be used from any state. The second external state transition may be used for temporal logic only.
# | 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
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) |
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.
A well-defined set of the Stateflow language shall be used, i.e. all cumbersome language objects and properties shall be avoided.
Truth tables shall not be used.
State transition tables shall not be used.
MATLAB functions shall not be used.
Simulink functions shall not be used.
History junctions shall not be used.
Transition actions (/action) shall not be used.
State actions (entry, during, exit) shall not be used.
External C-Code functions shall not be used.
Boxes shall not be used for state modeling and data storage. Boxes shall only contain text.
# | 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
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) |
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.
Local, directed and broadcast Stateflow events, including all implicit events shall not be used. Only two types of events are allowed:
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.
# | 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
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) |
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.
All Stateflow ojects shall use the pre-set "factory" color & style scheme.
The zoom factor of Stateflow windows shall be normal (100%).
All Stateflow comments shall:
All Stateflow transition labels shall:
|
|
# | 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
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) |
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.
The size of all Stateflow junctions shall be 14.
All junctions, i.e. decision points, except for the terminating junctions, shall have exactly one unconditional transition, i.e. default path.
# | 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
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) |
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.
The name of a Stateflow/MATLAB input or output shall be the same as the corresponding signal.
# | 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
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) |
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.
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 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.
Stateflow interfaces shall have explicit definition of data type, dimension and ranges.
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 | |
---|---|---|
|
|
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 shall not exist in the Stateflow block. Note: Set configuration parameter "Diagnostics -> Stateflow -> Unused data and events" to "error".
# | 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
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) |
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.
The following rules apply to logic in Stateflow:
Incorrect |
---|
|
# | 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
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) |
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.
Condition expressions shall be drawn on the horizontal segments of flowcharts. Loop constructs are intentional exceptions to this rule.
Transition actions shall be drawn on the vertical segments of 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.
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.
# | 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
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) |
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.
At every level of a Stateflow hierarchy state machines shall have at least two exclusive states.
At every level of a Stateflow hierarchy state machines shall have a singular initial state defined by a default transition.
# | 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
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) |
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.
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. |
# | 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
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) |
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.
Stateflow transitions shall be drawn straight and exactly horizontal or vertical.
Correct | |
---|---|
|
Inner flow charts may be used for modelling entry and during actions.
# | 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
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) |
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.
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 |
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.
# | 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
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) |
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.
Algebraic:
Relational
Logical
Bitwise
Unary
Assignment
Stateflow conditions shall contain only logical (incl. logical NOT) and relational operators
Individual Stateflow actions shall contain only one type of operator (i.e. only addition or only subtraction etc.)
C library functions and MATLAB functions besides typecasting shall not be used in Stateflow.
Stateflow Option "Enable C-like bit Operations" shall be switched on.
# | 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
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) |
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.
A new line shall be:
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 ";". |
# | 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
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) |
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.
The return value from a graphical function shall be set in only one place.
Correct | Incorrect |
---|---|
|
|
# | 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
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) |
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.
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. |
# | 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
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) |
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.
Default transitions shall be connected to the upper part of the state or a junction.
Default transitions shall be connected to states or junctions positioned in the far upper left within the same chart level.
Default transitions shall have an unguarded path to a state.
The default transition shall not cross any state boundaries, i.e. default transitions shall be established internally for each chart level.
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.
# | 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
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) |
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.
Each junction (except terminating) shall have exactly one unconditional tansition.
Each junction (except terminating) shall have no more then one conditional transition, i.e. multiple conditions shall be cascaded.
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.
# | 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
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) |
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.
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.
# | 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
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) |
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.
In a Stateflow diagram, pointers to custom code variables are not allowed.
# | 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
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) |
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.
The following rules apply to event broadcasts in Stateflow:
Example Using Send Syntax | Example Using Qualified Event Names |
---|---|
|
|
# | 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
ID: Title | ev_3001: Explicit Function Interface |
Priority | Optional |
Scope | - |
MATLAB | All Versions |
Static Check | Yes |
Prerequisites | None |
Last Change | v1.0 (20181005) |
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.
Ensure function parameters are passed as arguments instead of global variables, when using Embedded Coder for Code Generation.
Untested
ID: Title | ev_3002: Static Scope of States |
Priority | Optional |
Scope | - |
MATLAB | All Versions |
Static Check | Yes |
Prerequisites | None |
Last Change | v1.0 (20181005) |
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.
Ensure state variables only have static scope.
Untested
ID: Title | ev_3003: Generate Subsystem |
Priority | Optional |
Scope | - |
MATLAB | All Versions |
Static Check | Yes |
Prerequisites | None |
Last Change | v1.0 (20181005) |
Check state of C Code generation for the current subsystem.
Untested
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) |
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.
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.
# | 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
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) |
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.
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.
Untested
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) |
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.
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.
Untested
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) |
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.
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.
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.
Untested
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) |
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.
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.
Untested
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) |
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.
For each subsystem which contains a TargetLink Function block, the Inports/Outports shall be TargetLink Inports/Outports.
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.
Untested
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) |
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.
The Output Design Ranges in Simulink shall match those configured in TargetLink.
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
Untested
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) |
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.
The setting "Protect against division by zero in production code" of all Product blocks must be set according to the Parameter "Use TargetLink Protection".
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.
Untested
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) |
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.
The Data Types of Simulink objects shall match those configured in TargetLink.
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
Untested
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) |
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.
The Data Types of Stateflow objects shall match those configured in TargetLink.
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
Untested
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) |
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.
The Simulink port names shall match the variable names configured in TargetLink.
IF (Simulink port names are different from the variable names configured in TargetLink) THEN copy variable names configured in TargetLin to Simulink END
Untested
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) |
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.
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.
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.
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.
Untested
Generated on 08-May-2019 18:56:27 by EverCheck v3.7.166, EverBits GmbH