himl_0011: Data type and size of condition expressions
| ID: Title | himl_0011: Data type and size of condition expressions |
|---|---|
| Description | Logical scalars should be used for condition expressions. Condition expressions include:
|
| Rationale | Prevent execution of unexpected code paths |
| Model Advisor Checks | Check type and size of condition expressions (Simulink Check) |
| References |
|
| Last Changed | R2019b |
| Examples | Recommended Assume
variable MATLAB Code:
if var > 0 % expression is a logical scalar
… % will not be executed
elseif var < 0 % expression is a logical scalar
… % will be executed
else
… % will not be executed
end
while var < 5 % expression is a logical scalar
var = var + 1; % executed 5 times
end
Stateflow Transition Condition:
[var > 0]{…} % condition action will not be executed
Not Recommended Assume variable
MATLAB Code:
if var % expression is a double scalar
… % will be executed because var is non-zero
elseif ~var
… % will not be executed
else
… % will not be executed
end
while var % expression is a double scalar
var = var + 1; % executed 1 time
end
Stateflow Transition Condition:
[var]{…} % condition action will be executed because var is non-zero
|