|
|
|
|
|
|
|
|
Model Advisor Report - Heli_inner_loop.slx | |
Simulink version: 10.1 | Model version: 1.32 |
System: Heli_inner_loop | Current run: 08-Jul-2020 12:35:13 |
|
|
Treat as Referenced Model: off |
Pass | Fail | Warning | Not Run | Total |
---|---|---|---|---|
|
|
|
|
89 |
Identify Abs blocks that have unreachable code or produce overflows
Passed
No Abs blocks found causing unreachable code or produce overflows.
Identify Math Function blocks using rem and reciprocal functions that cause non-finite results
Passed
All Math Function blocks in the model use operators appropriately.
Identify Math Function blocks using log and log10 functions that cause non-finite results
Passed
All Math Function blocks in the model use operators appropriately.
Identify While Iterator blocks that do not have a positive value for the maximum number of iterations
Passed
No While Iterator blocks found that might cause infinite loops
Identify sample time-dependent blocks in While and For Iterator subsystems.
Passed
No sample time-dependent blocks in For or While Iterator subsystems.
Identify For Iterator blocks that cause variable loops
Passed
No For Iterator blocks found that cause variable loops.
Identify If and If Action Subsystem blocks without else conditions
Passed
No If blocks with questionable configurations or connections were found.
Identify inappropriately used Switch Case blocks and Switch Case Action Subsystem blocks
Passed
No Switch Case blocks with questionable configurations or connections were found.
Identify inappropriate blocks in conditionally executed subsystems.
Passed
No blocks with improper sample times or asynchronously executed sample-time dependent blocks were found.
Identify Merge blocks constructs which can lead to ambiguous behavior.
Passed
No merge blocks found which can lead to ambiguous behavior.
Identify Relational Operator blocks that equate floating-point types
Passed
No Relational Operator blocks found that equate floating-point types.
Identify Relational Operator blocks that operate on different data types or have a non-boolean output
Passed
No Relational Operator blocks found that operate on different data types or have a non-boolean output.
Identify Logical Operator blocks that operate on non-boolean data types
Passed
No Logical Operator blocks found that operate on non-boolean data types.
Identify bit operation blocks with signed data types as inputs
Passed
No bit operation blocks found with signed data types as inputs.
Identify blocks not supported by code generation or not recommended for C/C++ production code deployment.
Passed
No blocks found which are not recommended for C/C++ production code deployment.
Identify inconsistent usage of vector indexing methods across the model or subsystem
Passed
No blocks found using inconsistent indexing modes.
Identify blocks with index signals that have data types other than integers or enums.
Passed
No blocks or charts found with index signals or variables that have data types other than integer or enums.
Check variant block settings that might result in code that doesn't trace back to requirements.
Passed
There are no variant blocks that have "Generate preprocessor conditionals" active.
Check for Lookup Table blocks, Prelookup blocks and Interpolation blocks that do not generate out-of-range checking code.
Passed
No lookup table blocks found to not generate out-of-range checking code.
Identify usage of Signal Routing blocks in Simulink that might impact safety
Passed
No Switch blocks that might generate code with inequality operations (~=) in expressions where at least one side of the expression is a floating-point variable or constant were found.
Identify Inport blocks in the top-level of the model with missing or inherited sample times, data types, or port dimensions. Inport block properties are specified with block parameters or Simulink signal data objects that explicitly resolve to the connected signal lines.
Passed
There are no Inport blocks in the top-level of the model with missing or inherited sample times, data types, or port dimensions
Identify root-level Inport blocks with missing or erroneous minimum or maximum values. Inport block minimum and maximum values are specified with block parameters or Simulink signal objects that explicitly resolve to the connected signal lines.
Passed
There are no missing or erroneous Inport range properties at the model root level.
Identify root-level Outport blocks with missing or erroneous minimum or maximum values. Outport block minimum and maximum values are specified with block parameters or Simulink signal objects that explicitly resolve to the connected signal lines.
Passed
There are no missing or erroneous Outport range properties at the model root level.
Note: Root Outports with inherited data types are not analyzed by this check.
Identify Assignment blocks whose array fields are not initialized.
Passed
All Assignment blocks are configured with block parameter "Action if any output element is not assigned" set to Warning or Error.
Identify expressions that both read and write to the same global data.
Passed
No expressions found that both read and write to the same global data.
Identify Gain blocks with value which resolves to 1
Passed
No Gain blocks found with value which resolves to 1.
Identify user-defined object names with length greater than threshold
Passed
No Subsystem blocks found with function name length greater than Maximum identifier length. There are no data objects with names having length greater than Maximum identifier length.
Identify Stateflow Charts whose State Machine Type differs from the type set in the Model Advisor Configuration Editor.
Passed
No Stateflow Charts found that deviate from recommended state machine type.
Identify Stateflow charts that do not use explicit ordering of parallel states and transitions.
Passed
No Stateflow Charts found that deviate from recommended state/transition execution order settings.
Identify usage of signed data type operands to bitwise operations in Stateflow charts.
Passed
No Stateflow objects found that use signed data type operands with bitwise operations.
Verify configuration settings for strong data typing on the boundaries between Simulink and Stateflow
Passed
No Stateflow charts found that set 'Use Strong Data Typing with Simulink I/O' to off.
Identify whether Stateflow debugging options are set appropriately
Passed
All Stateflow debugging options are set appropriately.
Identify transition paths that cross parallel state boundaries in Stateflow charts.
Passed
No transition paths crossing parallel state boundaries were found in Stateflow charts.
Identify transition paths that go into and out of a state without ending on a substate.
Passed
No transition paths found that go into and out of a state without ending on a substate.
Identify expressions with variables and parameters of different data types in Stateflow objects.
Passed
No expressions were found with variables and parameters of different data types.
Identify mismatches between names of Stateflow ports and associated signals
Passed
There are no name mismatches between Stateflow ports and associated signals
Identify Stateflow data objects with local scope that are not scoped at the chart level or below
Passed
All Stateflow data objects are properly scoped.
Identify local data identifiers that are defined in multiple scopes within a chart.
Passed
No Stateflow data identifiers found to be defined in multiple scopes.
Identify usage of Stateflow bit-shifting operations that might impact safety.
Passed
There are no Stateflow bit-shifting operations greater than the bit-width of the input or output type.
Identify usage of standardized function headers in MATLAB function.
Passed
No MATLAB function blocks found without standardized function headers.
Identify MATLAB Functions that have inputs, outputs, or parameters with inherited complexity or data type properties.
Passed
No MATLAB Function interfaces with inherited complexity or data type properties found.
Identify MATLAB Functions that violate code and complexity metrics.
Passed
No MATLAB Function blocks found that violate code and complexity metrics.
Check MATLAB functions for %#codegen directive, MATLAB Code Analyzer messages, and justification message IDs.
Passed
No MATLAB Function blocks found with Code Analyzer messages, missing %#codegen directive or inappropriate usage of justification message IDs.
Identify if/elseif/else patterns without appropriate else conditions in embedded MATLAB code
Passed
No inappropriate if/elseif/else patterns found.
Identify inappropriately used switch statements in embedded MATLAB code
Passed
No inappropriately used switch statements found.
Identify relational operators operating on operands of different data types in MATLAB Function blocks.
Passed
No relational operators found operating on operands of different data types.
Identify equality operators used with floating-point operands in MATLAB Function blocks.
Passed
No equality operators found operating on floating-point operands.
Check diagnostic settings in the model configuration that apply to data store memory and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Detect read before write (ReadBeforeWriteMsg) | EnableAllAsError | EnableAllAsError |
Pass | Detect write after read (WriteAfterReadMsg) | EnableAllAsError | EnableAllAsError |
Pass | Detect write after write (WriteAfterWriteMsg) | EnableAllAsError | EnableAllAsError |
Pass | Multitask data store (MultiTaskDSMMsg) | error | error |
Pass | Duplicate data store names (UniqueDataStoreMsg) | error | error |
Check diagnostic settings in the model configuration that apply to saving model files.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Block diagram contains disabled library links (SaveWithDisabledLinksMsg) | error | error |
Pass | Block diagram contains parameterized library links (SaveWithParameterizedLinksMsg) | error | error |
Check model referencing settings in the model configuration that might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Rebuild (UpdateModelReferenceTargets) | IfOutOfDateOrStructuralChange | AssumeUpToDate, IfOutOfDateOrStructuralChange |
Pass | Pass fixed-size scalar root inputs by value for code generation (ModelReferencePassRootInputsByReference) * | on | on |
Pass | Minimize algebraic loop occurrences (ModelReferenceMinAlgLoopOccurrences) | off | off |
Check code generation settings in the model configuration that apply comments and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values | Prerequisites |
---|---|---|---|---|
Pass | Include comments (GenerateComments) | on | on | |
Pass | Simulink block comments (SimulinkBlockComments) | on | on | GenerateComments |
Pass | Show eliminated blocks (ShowEliminatedStatement) | on | on | GenerateComments |
D - Pass | System target file (SystemTargetFile) | ERT based target | ERT based target | |
Pass | Verbose comments for 'Model default' storage class (ForceParamTrailComments) | on | on | GenerateComments |
D - Pass | Include comments (GenerateComments) | on | on | |
Pass | Requirements in block comments (ReqsInCode) | on | on | SystemTargetFile, GenerateComments |
Check code generation interface settings in the model configuration that might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values | Prerequisites |
---|---|---|---|---|
Pass | non-finite numbers (SupportNonFinite) | off | off | |
Pass | absolute time (SupportAbsoluteTime) | off | off | SystemTargetFile |
Pass | continuous time (SupportContinuousTime) | off | off | SystemTargetFile |
D - Pass | System target file (SystemTargetFile) | ERT based target | ERT based target | |
Pass | non-inlined S-functions (SupportNonInlinedSFcns) | off | off | SystemTargetFile |
Pass | Classic call interface (GRTInterface) | off | off | |
Pass | Single output/update function (CombineOutputUpdateFcns) | on | on | |
Pass | Terminate function required (IncludeMdlTerminateFcn) | off | off | SystemTargetFile |
Pass | Remove error status field in real-time model data structure (SuppressErrorStatus) | on | on | SystemTargetFile |
Pass | MAT-file logging (MatFileLogging) | off | off |
Identify if the model Start time is set to 0 and Stop time is less than the Application Life Span.
Passed
No issues found with solver settings for simulation time.
Check solver settings in the model configuration that apply to solvers and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Type (SolverType) | Fixed-step | Fixed-step |
Pass | Solver (SolverName) | FixedStepDiscrete | FixedStepDiscrete |
Check solver settings in the model configuration that apply to tasking and sample-time constraints and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Not Recommended Values |
---|---|---|---|
Pass | Automatically handle rate transition for data transfer (AutoInsertRateTranBlk) | off | on |
Check diagnostic settings in the model configuration that apply to solvers and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Algebraic loop (AlgebraicLoopMsg) | error | error |
Pass | Minimize algebraic loop (ArtificialAlgebraicLoopMsg) | error | error |
Pass | Block priority violation (BlockPriorityViolationMsg) | error | error |
Pass | Automatic solver parameter selection (SolverPrmCheckMsg) | error | error |
Pass | State name clash (StateNameClashWarn) | warning | warning |
Check diagnostic settings in the model configuration that apply to sample time and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Source block specifies -1 sample time (InheritedTsInSrcMsg) | error | error |
Pass | Multitask rate transition (MultiTaskRateTransMsg) | error | error |
Pass | Multitask conditionally executed subsystem (MultiTaskCondExecSysMsg) | error | error |
Pass | Enforce sample times specified by Signal Specification blocks (SigSpecEnsureSampleTimeMsg) | error | error |
Pass | Single task rate transition (SingleTaskRateTransMsg) | error | error |
Pass | Tasks with equal priority (TasksWithSamePriorityMsg) | error | error |
Pass | Unspecified inheritability of sample time (UnknownTsInhSupMsg) | error | error |
Check optimization settings in the model configuration that apply to logic signals and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Implement logic signals as Boolean data (vs. double) (BooleanDataType) | on | on |
Check block reduction optimization settings in the model configuration that might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Block reduction (BlockReduction) | off | off |
Check code generation settings in the model configuration that apply to code style and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values | Prerequisites |
---|---|---|---|---|
Pass | Parentheses level (ParenthesesLevel) | Maximum | Maximum | SystemTargetFile |
Pass | Preserve operand order in expression (PreserveExpressionOrder) | on | on | SystemTargetFile |
D - Pass | System target file (SystemTargetFile) | ERT based target | ERT based target |
Check optimization settings in the model configuration that apply to application lifespan and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Application lifespan (days) (LifeSpan) | inf | Inf |
Check code generation identifier settings in the model configuration that might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values | Not Recommended Values | Prerequisites |
---|---|---|---|---|---|
D - Pass | System target file (SystemTargetFile) | ERT based target | ERT based target | ||
Pass | Minimum mangle length (MangleLength) | 4 | 1, 2, 3 | SystemTargetFile |
Check optimization settings in the model configuration that apply to loop unrolling threshold and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Not Recommended Values |
---|---|---|---|
Pass | Loop unrolling threshold (RollThreshold) | 5 | 0, 1 |
Check optimization settings in the model configuration that apply to data initialization and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values | Prerequisites |
---|---|---|---|---|
D - Pass | System target file (SystemTargetFile) | ERT based target | ERT based target | |
Pass | Remove root level I/O zero initialization (ZeroExternalMemoryAtStartup) * | on | on | SystemTargetFile |
Pass | Remove internal data zero initialization (ZeroInternalMemoryAtStartup) * | on | on | SystemTargetFile |
Check optimization settings in the model configuration that apply to data type conversions and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Remove code from floating-point to integer conversions that wraps out-of-range values (EfficientFloat2IntCast) | on | on |
Check optimization settings in the model configuration that apply to division arithmetic exceptions and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values | Prerequisites |
---|---|---|---|---|
D - Pass | System target file (SystemTargetFile) | ERT based target | ERT based target | |
Pass | Remove code that protects against division arithmetic exceptions (NoFixptDivByZeroProtection) | off | off | SystemTargetFile |
Check optimization settings in the model configuration that apply to specified minimum and maximum values and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values | Prerequisites |
---|---|---|---|---|
Pass | Optimize using the specified minimum and maximum values (UseSpecifiedMinMax) | off | off | SystemTargetFile |
D - Pass | System target file (SystemTargetFile) | ERT based target | ERT based target |
Check diagnostic settings in the model configuration that affect compatibility and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | S-function upgrades needed (SFcnCompatibilityMsg) | error | error |
Check diagnostic settings in the model configuration that apply to parameters and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Detect downcast (ParameterDowncastMsg) | error | error |
Pass | Detect underflow (ParameterUnderflowMsg) | error | error |
Pass | Detect overflow (ParameterOverflowMsg) | error | error |
Pass | Detect precision loss (ParameterPrecisionLossMsg) | error | error |
Pass | Detect loss of tunability (ParameterTunabilityLossMsg) | error | error |
Check diagnostic settings in the model configuration that apply to Merge blocks and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Detect multiple driving blocks executing at the same time step (MergeDetectMultiDrivingBlocksExec) | error | error |
Check diagnostic settings in the model configuration that affect model initialization and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Underspecified initialization detection (UnderspecifiedInitializationDetection) | Simplified | Simplified |
Check diagnostic settings in the model configuration that apply to data used for debugging and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Model Verification block enabling (AssertControl) | DisableAll | DisableAll |
Check diagnostic settings in the model configuration that apply to signal connectivity and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Signal label mismatch (SignalLabelMismatchMsg) | error | error |
Pass | Unconnected block input ports (UnconnectedInputMsg) | error | error |
Pass | Unconnected block output ports (UnconnectedOutputMsg) | error | error |
Pass | Unconnected line (UnconnectedLineMsg) | error | error |
Check diagnostic settings in the model configuration that apply to bus connectivity and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Unspecified bus object at root Outport block (RootOutportRequireBusObject) | error | error |
Pass | Element name mismatch (BusObjectLabelMismatch) | error | error |
Pass | Bus signal treated as vector (StrictBusMsg) | ErrorOnBusTreatedAsVector | ErrorOnBusTreatedAsVector |
Pass | Non-bus signals treated as bus signals (NonBusSignalsTreatedAsBus) | error | error |
Check diagnostic settings in the model configuration that apply to function-call connectivity and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | InvalidFcnCallConnMsg | error | error |
Pass | Context-dependent inputs (FcnCallInpInsideContextMsg) | error | error |
Check diagnostic settings in the model configuration that apply to type conversions and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Unnecessary type conversions (UnnecessaryDatatypeConvMsg) | warning | warning |
Pass | Vector/matrix block input conversion (VectorMatrixConversionMsg) | error | error |
Pass | 32-bit integer to single precision float conversion (Int32ToFloatConvMsg) | warning | warning |
Check diagnostic settings in the model configuration that apply to model referencing and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Port and parameter mismatch (ModelReferenceIOMismatchMessage) | error | error |
Pass | Invalid root Inport/Outport block connection (ModelReferenceIOMsg) | error | error |
Pass | Unsupported data logging (ModelReferenceDataLoggingMessage) | error | error |
Check diagnostic settings in the model configuration that apply to Stateflow and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Unexpected backtracking (SFUnexpectedBacktrackingDiag) | error | error |
Pass | Invalid input data access in chart initialization (SFInvalidInputDataAccessInChartInitDiag) | error | error |
Pass | No unconditional default transitions (SFNoUnconditionalDefaultTransitionDiag) | error | error |
Pass | Transition outside natural parent (SFTransitionOutsideNaturalParentDiag) | error | error |
Pass | Unreachable execution path (SFUnreachableExecutionPathDiag) | error | error |
Pass | Undirected event broadcasts (SFUndirectedBroadcastEventsDiag) | error | error |
Pass | Transition action specified before condition action (SFTransitionActionBeforeConditionDiag) | error | error |
Check diagnostic settings in the model configuration that apply to signal data and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Signal resolution (SignalResolutionControl) | UseLocalSettings | None, UseLocalSettings |
Pass | Division by singular matrix (CheckMatrixSingularityMsg) | error | error |
Pass | Underspecified data types (UnderSpecifiedDataTypeMsg) | error | error |
Pass | Wrap on overflow (IntegerOverflowMsg) | error | error |
Pass | Saturate on overflow (IntegerSaturationMsg) | error | error |
Pass | Inf or NaN block output (SignalInfNanChecking) | error | error |
Pass | "rt" prefix for identifiers (RTPrefix) | error | error |
Pass | Simulation range checking (SignalRangeChecking) | error | error |
Check for model elements that do not link to a requirements document.
Warning
The following model elements do not link to a requirements document:
Identify blocks that are not recommended for MISRA C:2012 compliant code generation.
Passed
None of the blocks are defined as "not recommended" for MISRA C:2012 compliant code generation.
Identify configuration parameters that might impact MISRA C:2012 compliant code generation.
Passed
All constraints on model configuration parameters have been met.