Filter checks

Passed  
Failed  
Warning  
Not Run  
   

Navigation

Modeling Standards for MAB
1 Naming Conventions
1.1 General
1.2 Content
2 Simulink
2.1 Configuration Parameters
2.2 Diagram Appearance
2.3 Signal
2.4 Block Consistency
2.5 Conditional Subsystem relations
2.6 Operation Blocks
2.7 Other blocks
3 Stateflow
3.1 Block/Data/Events
3.2 Diagram
3.3 Condition Transition/Action
3.4 Label Description
3.5 Miscellaneous
4 MATLAB
4.1 Data and Operations
4.2 Usage

View

Scroll to top
Show check details
Model Advisor Report - FCC_Sys_New.slx
Simulink version: 10.1 Model version: 1.85
System: FCC_Sys_New Current run: 08-Jul-2020 12:43:55
118 items with a timestamp different than 08-Jul-2020 12:43:55  
Treat as Referenced Model: off  

Run Summary
Pass Fail Warning Not Run Total
   134    0    7    0 141


Modeling Standards for MAB


    1 Naming Conventions  18  0  2  0


        1.1 General  3  0  1  0


  Check file names (08-Jul-2020 12:43:32)

Check the model file name to ensure that the name complies with the recommended guidelines.

Passed
All files have correct names.


  Check folder names (08-Jul-2020 12:43:32)

Underscore at the beginning

Warning
The following folders have underscores at the beginning of the folder name:

  • D:\Documents\SCHOOL\McSCert\do178\src\specification\FCC_New\slprj\_sfcncheck
  • D:\Documents\SCHOOL\McSCert\do178\src\specification\FCC_New\slprj\ert\_sharedutils
Recommended Action
Consider having alphabetic character at the beginning of the folder name.


  Check length of model file name (08-Jul-2020 12:43:32)

Check length of model file name

Passed
Model name is valid.


  Check length of folder name at every level of model path (08-Jul-2020 12:43:32)

The model file name is: FCC_Sys_New



Passed
Folder names are valid.



        1.2 Content  15  0  1  0


  Check subsystem names (08-Jul-2020 12:43:32)

Identify subsystem names with incorrect characters.

Passed
All the subsystem names use correct characters.


  Check port block names (08-Jul-2020 12:43:32)

Identify Inport or Outport block names with incorrect characters.

Passed
All the Inport or Outport block names use correct characters.


  Check character usage in block names (08-Jul-2020 12:43:32)

Identify block names with incorrect characters.

Passed
All the block names use correct characters.


  Check length of subsystem names (08-Jul-2020 12:43:32)

Check length of subsystem names

Passed
All subsystem names are valid.


  Check length of block names (08-Jul-2020 12:43:32)

Check length of block names

Passed
All block names are valid.


  Check length of Inport and Outport names (08-Jul-2020 12:43:32)

Check length of Inport and Outport names

Passed
All Inport and Outport names are valid.


  Check usable characters for signal names and bus names (08-Jul-2020 12:43:32)

Identify invalid characters in signal and bus names

Passed
No invalid characters are used in signal and bus names.


  Check usable characters for parameter names

Identify invalid characters in parameter names

Passed
No invalid characters are used in parameter names.


  Check length of signal and bus names (08-Jul-2020 12:43:32)

Check length of signal and bus names

Passed
All signal and bus names are valid.


  Check length of parameter names

Check length of parameter names

Passed
All parameter names are valid.


  Check usable characters for Stateflow data names (08-Jul-2020 12:43:32)

Identify invalid characters in Stateflow data names.

Passed
No invalid characters are used in Stateflow data names.


  Check length of Stateflow data name (08-Jul-2020 12:43:32)

Check if the length of Stateflow data names are within limit.

Passed
All Stateflow data names are valid.


  Check duplication of Simulink Data names (08-Jul-2020 12:43:32)

Simulink Data names should be unique across base workspace, model workspace and data dictionary.

Passed
All Simulink Data names are unique.


  Check unused data in Simulink Model

Check for unused data in Data Dictionary

Warning
The following data variables in the data dictionary are unused:

Data Objects Source
ActCmd HeliSystemDD_New.sldd
Pilot HeliSystemDD_New.sldd


Recommended Action
Consider removing the unused data variables.


  Check for unused data in Stateflow Charts (08-Jul-2020 12:43:32)

Checks if the model parameter 'Unused data, events, messages and functions' is not set to 'none'.

Passed
All constraints on model configuration parameters have been met.

Status Parameter Current Value Recommended Values
Pass Unused data, events, messages and functions (SFUnusedDataAndEventsDiag) warning error, warning


  Check usage of restricted variable names (08-Jul-2020 12:43:32)

Checks whether variable names used in MATLAB Function blocks are reserved for C/C++/MATLAB keywords

Passed
No variable names conflict with reserved keywords



    2 Simulink  57  0  5  0

    3 Stateflow  51  0  0  0


        3.1 Block/Data/Events  7  0  0  0


  Check for Strong Data Typing with Simulink I/O (08-Jul-2020 12:43:32)

Check whether labeled input and output signals are strongly typed.

Passed
No Stateflow charts have Use Strong Data Typing with Simulink I/O cleared.


  Check for names of Stateflow ports and associated signals


Identify mismatches between names of Stateflow ports and the associated signals.

Passed
No Stateflow charts were found.


  Check execution timing for default transition path (08-Jul-2020 12:43:32)

'Execute (enter) Chart At Initialization' should be set to OFF.

Passed
All Stateflow Charts pass the check.


  Check definition of Stateflow data (08-Jul-2020 12:43:32)

Identify the Scope value set on Stateflow data defined at machine level.

Passed
All Stateflow data at machine level has been defined as per guideline.


  Check usable number for first index (08-Jul-2020 12:43:32)

Identify usage of first index of Stateflow data.

Passed
All Stateflow data first index values are uniform.


  Check scope of data in parallel states (08-Jul-2020 12:43:32)

jc_0722: Guidelines for setting local variables in parallel states
The scope of local variables should be restricted to one parallel state unless it is being used by other parallel states.

Passed
No Stateflow States were found.


  Check definition of Stateflow events (08-Jul-2020 12:43:32)

Stateflow events should be defined at the smallest possible scope of usage.

Passed
All Stateflow events are defined at their smallest scope.



        3.2 Diagram  14  0  0  0


  Check for unconnected objects in Stateflow Charts (08-Jul-2020 12:43:32)

Identify dangling transitions and unconnected Stateflow States and Junctions in Stateflow Charts.

Passed
No unconnected transitions, states or junctions found in Stateflow Charts.


  Check usage of exclusive and default states in state machines (08-Jul-2020 12:43:32)

Identify Stateflow charts and substates that incorrectly use or define exclusive and default states.

_________________________________________________________________________________________

Check Stateflow charts for exclusive states
Identify Stateflow charts that have singular exclusive (OR) states.

Passed
The Stateflow charts do not have singular exclusive (OR) states.
_________________________________________________________________________________________

Check Stateflow charts for undefined default states
Identify Stateflow charts that do not define default states.

Passed
Each Stateflow chart defines a default state.
_________________________________________________________________________________________

Check for multiple states assigned as the default state
At the root level in the Stateflow hierarchy only one state should be assigned as the default.

Passed
The root level of the chart has only one default state assigned.
_________________________________________________________________________________________

Check for substates with singular OR states
States configured as OR should always be part of a group of states.

Passed
No singular OR states were detected.
_________________________________________________________________________________________

Check for substates without default states defined
At every level in the Stateflow hierarchy a default state should be assigned.

Passed
All substates have default states assigned.
_________________________________________________________________________________________

Check for substates with multiple default states defined
At every level in the Stateflow hierarchy only one state should be assigned as the default.

Passed
All levels of the chart have only one default state assigned.


  Check for parallel Stateflow state used for grouping (08-Jul-2020 12:43:32)

jc_0721: Guidelines for using parallel states
Identify parallel Stateflow States used for grouping.

Passed
No Stateflow charts were found.


  Check Stateflow transition appearance (08-Jul-2020 12:43:32)

Identify Stateflow transitions visually overlapping other Stateflow objects.

Passed
No transition violates the guidelines for Stateflow transition appearance.


  Check default transition placement in Stateflow charts (08-Jul-2020 12:43:32)

jc_0531: Placement of default transition.

Passed
No Stateflow transitions and states found that violate the guidelines for default transition placement in Stateflow charts.


  Check usage of transitions to external states (08-Jul-2020 12:43:32)

Identify transitions ending on external child states.

Passed
No direct transitions found from external state to child state.


  Check for unexpected backtracking in state transitions (08-Jul-2020 12:43:32)

Identify configuration parameter settings which identify unexpected backtracking in state transitions.

Passed
All constraints on model configuration parameters have been met.

Status Parameter Current Value Recommended Values
Pass Unexpected backtracking (SFUnexpectedBacktrackingDiag) error error


  Check starting point of internal transition in Stateflow (08-Jul-2020 12:43:32)

jc_0760: In all state charts and flow charts, internal transitions from state boundaries must start from the left edge of the state.

Passed
No Stateflow transitions found that violate the guidelines for starting point of internal transition in Stateflow.


  Check usage of internal transitions in Stateflow states (08-Jul-2020 12:43:32)

Identify Stateflow states using multiple internal transitions.

Passed
No Stateflow states found with multiple internal transitions


  Check prohibited combination of state action and flow chart (08-Jul-2020 12:43:32)

jc_0762: State actions within states and flow chart statements should not be used in combination.

Passed
No Stateflow states found that combine state action and flow chart.


  Check transition orientations in flow charts (08-Jul-2020 12:43:32)

Identify transitions in Stateflow flow charts that are drawn incorrectly.

_________________________________________________________________________________________

Check for conditions drawn horizontally
Condition expressions should be drawn on the horizontal segments of flow charts.

Passed
All condition expressions were drawn horizontally.
_________________________________________________________________________________________

Check for action transitions drawn vertically
Transitions with condition actions should be drawn on the vertical segments of flow charts.

Passed
All transitions with condition actions were drawn vertically.
_________________________________________________________________________________________

Check for transition actions in flow chart
Transition actions should not be used in flow charts.

Passed
No transition actions are used in flow charts.
_________________________________________________________________________________________

Check for junctions for default transitions
All Junctions in a flow chart should have a default exit transition.

Passed
All Junctions have a default exit transition.
_________________________________________________________________________________________

Check for transitions that combine condition and action
Flow charts should not combine condition evaluations and action expressions in a single transition.

Passed
No combined expressions were found in the chart.


  Check usage of unconditional transitions in flow charts (08-Jul-2020 12:43:32)

Identify unconditional transitions in flow charts.

Passed
All unconditional transitions adhere to the guideline.


  Check terminal junctions in Stateflow (08-Jul-2020 12:43:32)

Identify usage of terminal junctions in flow charts.

Passed
Multiple terminal junctions were not found.


  Check usage of Stateflow comments (08-Jul-2020 12:43:32)

Identify comments that are nested or contain newline(s) in the middle in Stateflow for action language 'C'.

Passed
No comments found that are either nested or contain newline(s) in the middle.



        3.3 Condition Transition/Action  16  0  0  0


  Check Stateflow chart action language (08-Jul-2020 12:43:32)

Check if the action language of Stateflow charts is set to 'C'.

Passed
All Stateflow Charts have action language set to 'C'.


  Check usage of numeric literals in Stateflow (08-Jul-2020 12:43:32)

Identify use of numeric literals in Stateflow states and transitions.

Passed
No numeric literals found in Stateflow charts.


  Check for pointers in Stateflow charts (08-Jul-2020 12:43:32)

Identify pointer operations on custom code variables.
Note: This check applies only to Stateflow charts that use C as the action language.

Passed
No pointer operations were found.


  Check for usage of events and broadcasting events in Stateflow charts (08-Jul-2020 12:43:32)

Identify undirected event broadcasts in Stateflow

Passed
No instances of undirected event broadcast were found.


  Check order of state action types (08-Jul-2020 12:43:32)

Identify out of order state action types in Stateflow states.

Passed
No Stateflow states found with out of order state action types


  Check repetition of Action types (08-Jul-2020 12:43:32)

jc_0734: Number of state action types
Identifies repeated action types in a Stateflow State.

Passed
No Stateflow States were found.


  Check if state action type 'exit' is used in the model (08-Jul-2020 12:43:32)

Check if state action type 'exit' is used in the model.

Passed
State action type 'exit' is not used in the model.


  Check updates to variables used in state transition conditions (08-Jul-2020 12:43:32)

jc_0741: Variables used in state transition conditions must not perform an update by "during" state action type.

Passed
No Stateflow states found that violate the guidelines for updating the variables used in state transition conditions.


  Check usage of transition conditions in Stateflow transitions (08-Jul-2020 12:43:32)

jc_0772: Identify unconditional Stateflow transitions with higher priority than conditional transitions

Passed
No unconditional Stateflow transitions found with higher priority than conditional transitions


  Check condition actions and transition actions in Stateflow (08-Jul-2020 12:43:32)

Identify usage of transition actions in Stateflow.

Passed
No Stateflow charts have transition actions.


  Check for MATLAB expressions in Stateflow blocks (08-Jul-2020 12:43:32)

Identify MATLAB expressions that are not suitable for code generation in Stateflow blocks.

Passed
No Stateflow objects found using MATLAB expressions unsuitable for code generation.


  Check usage of floating-point expressions in Stateflow charts

Identify equal to operations (==) in expressions where at least one side of the expression is a floating-point variable or constant.

Passed
No equal to operations in expressions where at least one side of the expression is a floating-point variable or constant were found.


  Check Stateflow operators

Identify the usage of operators in Stateflow.

Passed
No Stateflow blocks found with incorrect operator usage.


  Check prohibited comparison operation of logical type signals (08-Jul-2020 12:43:32)

Identify boolean variables in Stateflow charts using comparison operations.

Passed
No boolean variables use comparison operations of logical type in the model.


  Check usage of unary minus operations in Stateflow charts

Identify unary minus operations applied to unsigned integers in Stateflow objects.

Passed
No unary minus operations applied to unsigned integers in Stateflow objects were found.


  Check for implicit type casting in Stateflow

Identify implicit type casting in Stateflow.

Passed
No instances of implicit type casting found.



        3.4 Label Description  10  0  0  0


  Check uniqueness of Stateflow State and Data names (08-Jul-2020 12:43:32)

jc_0732: Distinction between state name and data item name
Identify Stateflow State and Stateflow Data that have identical names in a given chart.

Passed
No Stateflow charts were found.


  Check uniqueness of State names (08-Jul-2020 12:43:32)

jc_0730: Independence of state name in charts
Identifies identical State names within a Stateflow Chart.

Passed
No Stateflow charts were found.


  Check usage of State names (08-Jul-2020 12:43:32)

jc_0731: Slash (/) in the state name
Identify state names with '/' at its end.

Passed
No Stateflow states were found.


  Check entry formatting in State blocks in Stateflow charts (08-Jul-2020 12:43:32)

Identify missing line breaks between entry action (en), during action (du), and exit action (ex) entries in states. Identify missing line breaks after semicolons (;) in statements.

Passed
No Stateflow charts were found.


  Check indentation of code in Stateflow states (08-Jul-2020 12:43:32)

Identify non-uniform indentation in Stateflow blocks.

Passed
All Stateflow blocks have uniform indentation.


  Check for usage of text inside states (08-Jul-2020 12:43:32)

Identify Stateflow states with text exceeding the boundary of the state

Passed
No Stateflow states found with text exceeding the boundary of the state.


  Check position of label string in Stateflow transition (08-Jul-2020 12:43:32)

Identify placement of label string in Stateflow transition.

Passed
All Stateflow transitions are placed uniformly.


  Check position of comments in transition labels (08-Jul-2020 12:43:32)

Identify comments in transition labels that are not positioned uniformly.

Passed
Comments in transition labels are positioned uniformly.


  Check usage of parentheses in Stateflow transitions (08-Jul-2020 12:43:32)

jc_0752: Start new line before and after parentheses for condition actions in Stateflow transitions.

Passed
No Stateflow Transitions found that violate the requirement for new line for condition actions.


  Check for comments in unconditional transitions (08-Jul-2020 12:43:32)

Identify comments in unconditional transitions without action statements.

Passed
All unconditional transitions without action statements have comments.



        3.5 Miscellaneous  4  0  0  0


  Check return value assignments in Stateflow graphical functions (08-Jul-2020 12:43:32)

Identify graphical functions with multiple assignments of return values in Stateflow charts.

Passed
No Stateflow charts were found.


  Check uniqueness of Stateflow State and Data names (08-Jul-2020 12:43:32)

jc_0732: Distinction between state name and data item name
Identify Stateflow State and Stateflow Data that have identical names in a given chart.

Passed
No Stateflow charts were found.


  Check usage of Simulink functions in Stateflow (08-Jul-2020 12:43:32)

Usage of Simulink Functions in Stateflow.

Passed
All Simulink Functions in Stateflow are defined according to the guideline.


  Check use of Simulink in Stateflow charts (08-Jul-2020 12:43:32)

na_0039: Limitation on Simulink functions in Chart blocks

Check use of Stateflow charts nested inside Simulink functions used in Stateflow.

Passed
No Stateflow charts found nested inside Simulink functions used in Stateflow.



    4 MATLAB  8  0  0  0


        4.1 Data and Operations  3  0  0  0


  Check MATLAB code for global variables (08-Jul-2020 12:43:32)

Check for global variables in MATLAB code

_________________________________________________________________________________________

Check for global variables in MATLAB code used in MATLAB Function blocks

Passed
No MATLAB Function blocks found
_________________________________________________________________________________________

Check for global variables in MATLAB functions defined in Stateflow charts

Passed
No MATLAB functions defined in Stateflow charts found
_________________________________________________________________________________________

Check for global variables in called MATLAB functions

Passed
No external MATLAB functions found
_________________________________________________________________________________________


  Check usage of enumerated values

Identify enumeration classes used in the model with no default value specification.

Passed
No enumeration classes found without default value specifications.


  Check input and output settings of MATLAB Functions (08-Jul-2020 12:43:32)

Identify MATLAB Functions that have inputs, outputs, or parameters with inherited complexity, data type, or size properties.

Passed
No MATLAB Functions found in the model or subsystem.



        4.2 Usage  5  0  0  0


  Check MATLAB Function metrics (08-Jul-2020 12:43:32)

Identify MATLAB Functions that violate complexity limits.

Passed
No MATLAB Function with metrics violations were found.
The following metrics were determined for the model or subsystem.

Legend:

  • LoC : Total lines of code
  • ELoC : Effective lines of code
  • CLoC : Comment lines of code
  • DC : Density of comments
  • CYC : Cyclomatic complexity

Input Parameters Selection
Name Value
Maximum effective lines of code per function 60
Minimum density of comments 0.2
Maximum cyclomatic complexity per function 15


  Check the number of function calls in MATLAB Function blocks (08-Jul-2020 12:43:32)

Checks whether number of function calls in MATLAB Function blocks is less than 3.

Passed
Number of function calls in MATLAB Function blocks is less than 3.


  Check usage of character vector inside MATLAB Function block (08-Jul-2020 12:43:32)

Checks whether character vectors are being used inside MATLAB Function blocks

Passed
No character vectors found in MATLAB Function block


  Check usage of recommended patterns for Switch/Case statements (08-Jul-2020 12:43:32)

Checks whether non-constant variables are used in Switch/Case arguments.

Passed
Non-constant variables are not used as Switch/Case arguments


  Check for use of C-style comment symbols

Identify usage of C-style comments in CGT Files and MPT Objects.

Passed
C-style comments are not used in CGT Files and MPT Objects.